Saturday, October 1, 2011

Flip image & display

วันนี้ลองมาใช้ฟังก์ชันง่ายๆ เพื่อ flip รูปกันครับ

ผลลัพธ์ที่ต้องการ

เช่นเดียวกันครับ ถือว่ารูปอยู่ที่เดียวกับไฟล์ output
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>

using namespace cv;

int main()
{
 //Read file and load to variable
 Mat image = imread("lenag.jpg"); 
 //If read failure
 if(!image.data)
 {
  return -1;
 } 
 //Create a window to display the image 
 namedWindow("Original image");
 //Show the image
 imshow("Original image",image);

 //Create another image for result
 Mat result;
 flip(image, result, 1); //1=horizontal, 0=vertical, -1=both
 //Create a window to display the image 
 namedWindow("Output image");
 //Show the image
 imshow("Output image",result);

 //Wait for user to press any key
 waitKey(0);
 return 0;
}

สังเกตว่ามีการสร้าง 2 หน้าต่างเพื่อแสดง input และ output

มีการตรวจสอบว่าอ่านรูปได้หรือไม่ โดย if(!image.data)

และมีการกลับรูปโดยใช้คำสั่ง flip(image, result, 1);     //1=horizontal, 0=vertical, -1=both

จะเห็นว่า OpenCV2 พยายามทำให้รูปแบบการใช้งานคำสั่งต่างๆ ดูง่ายขึ้นกว่ารุ่นก่อนๆครับ

No comments:

Post a Comment