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;
}