Related Posts
  Thailand Excellence Community
 อบรม 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_GRAYSCALEcvtColor(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;
}