Linux下opencv编程
在linux环境下编译运行OpenCV程序的两种方法
第一种方法:Command Line(使用命令行参数的方法)
(其中`不是英文状态下的单引号,而是键盘上“~”一个键上的“ ` ”符号)
第二种方法:使用OpenCV推荐的CMake工具
step1:新建一个目录用于存放我们的代码和程序中要处理的相关图片。
step2:添加cmake工具编译时所需的文件CMakeLists.txt。
Step3:让后我们输入命令"cmake ."对当前的工程进行编译。
1、示例1
img_1.c的代码如下:
#includeint main(int argc,char ** argv) { IplImage* img = cvLoadImage(argv[1],CV_LOAD_IMAGE_COLOR); cvNamedWindow("Image_show",CV_WINDOW_AUTOSIZE); cvShowImage("Image_show",img); cvWaitKey(0); cvReleaseImage(&img); cvDestroyWindow("Image_show"); return 0; }
Opencv的C语言编译命令:
程序执行:
# ./img_1 lena.jpg
示例2
imgshow.cpp的代码如下:
#includeMat src=imread("lena.jpg",CV_LOAD_IMAGE_COLOR); namedWindow("Hello"); imshow("Hello",src); cout<<"Press 'q' to quit ..."<#include using namespace cv; using namespace std; int main(int argc, char**argv) {
#g++ `pkg-config --cflags --libs opencv` -o imgshow imgshow.cpp
程序执行:
# ./imgshow
示例3
彩色图像灰度化
test_1.cpp代码如下:
#include#include using namespace cv; using namespace std; int main(int argc,char **argv) { Mat src=imread(argv[1]); if(!src.data) { cout<<"image to load failure!"< 执行:
#g++ `pkg-config --cflags --libs opencv` -o test_1 test_1.cpp
#./test_1 lena.jpg
![]()
示例4
彩色图像二值化
Test2.cpp的代码如下:
#include#include using namespace std; using namespace cv; int main(int argc,char **argv) { Mat src=imread(argv[1]); if(!src.data) { cout<<"image to load failure!"< 执行:(1)g++ `pkg-config --cflags --libs opencv` -o test2 test2.cpp
(2)./test2 lena.jpg
效果如下图所示