opencv图像处理(c++)

安装opencv库

[root@izwz93atpalb56zydy9bpyz opencv]# yum install opencv opencv-devel -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.cloud.aliyuncs.com
 * centos-sclo-rh: mirrors.163.com
 * centos-sclo-sclo: mirrors.163.com
 * elrepo: mirrors.neusoft.edu.cn
 * extras: mirrors.cloud.aliyuncs.com
 * updates: mirrors.cloud.aliyuncs.com
Package opencv-2.4.5-3.el7.x86_64 already installed and latest version
Package opencv-devel-2.4.5-3.el7.x86_64 already installed and latest version
Nothing to do
[root@izwz93atpalb56zydy9bpyz opencv]#

测试源码

/*main.cc*/
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <iostream>

int main(int argc, char **argv)
{
        std::cout << "opencv library c++ test:" << std::endl;

        cv::Mat image(240, 320, CV_8U, 100);
        std::cout << "image cols:" << image.cols << " ,image rows:" << image.rows << " ,image channel:" << image.channels() << std::endl;

        std::string picture1 = "刘亦菲.jpg";
        std::string picture2 = "紫胤真人.jpg";
        std::cout << std::endl << "image gray deal" << std::endl;
        cv::Mat image1 = imread(picture1.c_str(),cv::IMREAD_COLOR);			// RGB模式
        cv::Mat image2 = imread(picture2.c_str(),cv::IMREAD_GRAYSCALE);		// 灰色模式

        //imshow("Image", image); // show the image
        std::cout << "生成彩色图片:" << std::endl; 
        imwrite(("kk" + picture1).c_str(), image1);
    
        std::cout << "生成灰色图片:" << std::endl;
        imwrite(("kk" + picture2).c_str(), image2);
}

Makefile:

all:
        g++ main.cc -std=c++11 -o opencv -lopencv_core -lopencv_highgui
clean:
        rm -rf opencv

文件列表:

[root@izwz93atpalb56zydy9bpyz opencv]# ll
total 52
-rw-r--r--. 1 root root   903 Jan 15 14:54 main.cc
-rw-r--r--. 1 root root    93 Jan 15 14:56 Makefile
-rw-r--r--. 1 root root 19495 Jan 15 14:33 刘亦菲.jpg
-rw-r--r--. 1 root root 21678 Jan 15 14:55 紫胤真人.jpg
[root@izwz93atpalb56zydy9bpyz opencv]#

编译源码:

[root@izwz93atpalb56zydy9bpyz opencv]# make
g++ main.cc -std=c++11 -o opencv -lopencv_core -lopencv_highgui
[root@izwz93atpalb56zydy9bpyz opencv]#

执行:

opencv library c++ test:
image cols:320 ,image rows:240 ,image channel:1

image gray deal
生成彩色图片:
生成灰色图片:
[root@izwz93atpalb56zydy9bpyz opencv]# ll
total 148
-rw-r--r--. 1 root root 36678 Jan 15 15:16 kk刘亦菲.jpg
-rw-r--r--. 1 root root 36218 Jan 15 15:16 kk紫胤真人.jpg
-rw-r--r--. 1 root root   903 Jan 15 14:54 main.cc
-rw-r--r--. 1 root root    93 Jan 15 14:56 Makefile
-rwxr-xr-x. 1 root root 21112 Jan 15 15:16 opencv
-rw-r--r--. 1 root root 19495 Jan 15 14:33 刘亦菲.jpg
-rw-r--r--. 1 root root 21678 Jan 15 14:55 紫胤真人.jpg
[root@izwz93atpalb56zydy9bpyz opencv]#

刘亦菲.jpg:
在这里插入图片描述

紫胤真人.jpg:
在这里插入图片描述

kk刘亦菲.jpg:
在这里插入图片描述

kk紫胤真人.jpg:
在这里插入图片描述

经过opencv处理后的两张图片,分别达到了目的。紫胤真人的图片变成了灰色

发布了61 篇原创文章 · 获赞 63 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/jacky128256/article/details/103990093