อบรมสอน Visual studio และประมวลผลภาพด้วย Open CV ตอนที่ 2

อบรมสอน Visual studio และประมวลผลภาพด้วย Open CV ตอนที่ 2

อบรม open CV Visual studio
CV_WINDOW_NORMAL
แสดงผลภาพในขนาดต่างๆ

 example 1 : open image file with image conversion
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
	Mat image;
	image = imread("Lena.png", IMREAD_COLOR); // IMREAD_GRAYSCALE
	image = imread("Lena.png", IMREAD_GRAYSCALE); // IMREAD_GRAYSCALE
	namedWindow("My image", CV_WINDOW_NORMAL); // CV_WINDOW_AUTOSIZE
	namedWindow("My image", CV_WINDOW_AUTOSIZE); // CV_WINDOW_AUTOSIZE
	imshow("My image", image);
	waitKey(0);
	return 0;
}
 ========================================================

https://www.facebook.com/GulfThai/posts/1019142128459808
ภาพสีแปลงเป็นขาวดำ สำหรับบางฟังก์ชั่นที่รับได้แต่ขาวดำ
image = imread(“Lena.png”, IMREAD_GRAYSCALE
cvtColor(image, gray_image, CV_BGR2GRAY);
ชื่อฟังก์ชั่น ตัวแปร1 ตัวแปร2 คำสั่งแปลงสี

// example 2 : open image file with image conversion
#include <opencv2/opencv.hpp>
using namespace cv;

int main()
{
	Mat image;
	Mat gray_image;
	image = imread("Lena.png");
	cvtColor(image, gray_image, CV_BGR2GRAY);

	Mat color_image;
	cvtColor(gray_image, color_image, CV_GRAY2BGR);

	//namedWindow("My image", CV_WINDOW_NORMAL); // CV_WINDOW_AUTOSIZE
	namedWindow("My image", CV_WINDOW_AUTOSIZE); // CV_WINDOW_AUTOSIZE
	namedWindow("My grayscale image", CV_WINDOW_AUTOSIZE); // CV_WINDOW_AUTOSIZE
	namedWindow("My color image", CV_WINDOW_AUTOSIZE); // CV_WINDOW_AUTOSIZE
	
	imshow("My image", image);
	imshow("My grayscale image", gray_image);
	imshow("My color image", color_image);
		
	waitKey(0);
	return 0;
}

using namespace cv;
คือ scope จะมีเฉพาะในภาษา C++ หากมีการใช้ชื่อซ้ำเป็นแบบ Global เพื่อจัดกลุ่ม
Mat image คือ CV::Mat image;

example 3 : save image file

// example 3 : save image file
#include <opencv2/opencv.hpp>
using namespace cv;

int main()
{
	Mat image;
	Mat gray_image;
	image = imread("Lena.png");
	cvtColor(image, gray_image, CV_BGR2GRAY);

	//namedWindow("My image", CV_WINDOW_NORMAL); // CV_WINDOW_AUTOSIZE
	namedWindow("My image", CV_WINDOW_AUTOSIZE); // CV_WINDOW_AUTOSIZE
	namedWindow("My grayscale image", CV_WINDOW_AUTOSIZE); // CV_WINDOW_AUTOSIZE
	imshow("My image", image);
	imshow("My grayscale image", gray_image);
	
	imwrite("my_image.png", gray_image);

	// file size checking for color image
	//Mat color_image;
	//cvtColor(gray_image, color_image, CV_GRAY2BGR);
	//imwrite("my_image_rgb.png", color_image);

	waitKey(0);
	return 0;
}

การแปลงไฟล์ภาพต่างๆ จากตัวแปร ใช้คำสั่ง imwrite

// example : negative image
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
	Mat image = imread("histogram.png");
	//Mat image = imread("stopsign.jpg");
	
	//Mat image = Mat::zeros(Size(200, 200), CV_8U);
	//Mat image(200, 200, CV_8U, Scalar(255)); // white image
	//Mat image(200, 200, CV_8U, Scalar(0)); // black image
	namedWindow("Image", CV_WINDOW_AUTOSIZE);
	imshow("Image", image);

	//Negative Effect
	Mat inv_image;
	bitwise_not(image, inv_image);
	namedWindow("NegativeEffect", CV_WINDOW_AUTOSIZE);
	imshow("NegativeEffect", inv_image);
	waitKey(0);
	return 0;
}
// example : pseudo color image 
#include <opencv2/opencv.hpp>
using namespace cv;
int main() {
	//Mat input_image = imread("lena.png", IMREAD_GRAYSCALE);
	Mat input_image = imread("histogram.png", IMREAD_GRAYSCALE);
	Mat processed_image;

	applyColorMap(input_image, processed_image, COLORMAP_RAINBOW); //COLORMAP_JET);
	imshow("Input image", input_image);
	imshow("Processed Image", processed_image);
	waitKey(0);

	return 0;
}
Pages: 1 2 3 4 5

Create Account



Log In Your Account