อบรมสอน Visual studio และประมวลผลภาพด้วย Open CV ตอนที่ 1
example 1 : open image file
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat image;
image = imread("Lena.png");
namedWindow("My image", CV_WINDOW_NORMAL); // CV_WINDOW_AUTOSIZE
imshow("My image", image);
waitKey(0);
return 0;
}
========================================================
example 2 : stream webcam
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat image;
VideoCapture capture;
capture.open(0);
namedWindow("My image", CV_WINDOW_NORMAL);
while (1)
{
capture >> image;
imshow("My image", image);
char c = waitKey(50); //wait for 50 milliseconds and
if (c == 27) //exit the loop if user press "Esc" key
break;
}
return 0;
}
========================================================
// example 3 : split image
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat image; // color image
image = imread("rgb.png");
namedWindow("Original Image", CV_WINDOW_NORMAL); //CV_WINDOW_AUTOSIZE
namedWindow("Blue", CV_WINDOW_NORMAL);
namedWindow("Green", CV_WINDOW_NORMAL);
namedWindow("Red", CV_WINDOW_NORMAL);
imshow("Original Image", image);
Mat rgbchannel[3];
split(image, rgbchannel);
imshow("Red", rgbchannel[2]);
imshow("Green", rgbchannel[1]);
imshow("Blue", rgbchannel[0]);
waitKey(0);
return 0;
}
// example 4 : put text into image
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat image;
image = imread("stopsign.jpg");
namedWindow("My image", CV_WINDOW_NORMAL); // CV_WINDOW_AUTOSIZE
putText(image, //target image
"Hello", //text
Point(10, image.rows / 2), //top-left position
FONT_HERSHEY_DUPLEX,
1.0,
CV_RGB(255, 0, 0), //font color
2);
imshow("My image", image);
waitKey(0);
return 0;
}
// example 5 : draw a rectangle into image
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat image;
image = imread("stopsign.jpg");
namedWindow("My image", CV_WINDOW_NORMAL); // CV_WINDOW_AUTOSIZE
int x = 20;
int y = 20;
int width = 100;
int height = 200;
Point pt1(x, y); // top left corner
Point pt2(x + width, y + height); // bottom right corner.
rectangle(image, pt1, pt2, Scalar(0, 255, 0), 3);
imshow("My image", image);
waitKey(0);
return 0;
}