【1】opencv显示图片,转灰度图片,及边缘检测

**

显示图片

**
显示了F盘中lennna

#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
	namedWindow("display", WINDOW_AUTOSIZE);
	Mat img;
	img = imread("F://lenna.jfif");
	imshow("display", img);
	waitKey(0);
	return 0;
}

源代码,其中Mat是一种opencv中的数据类型,是一个矩阵可以保存获得图片的RGB值,头文件和我们正常C++的头文件是一样的意思,另外命名空间using namespace cv;加上之后调用文件头的东西不用加cv::是一样的,这和C++中的命名空间也是一样的,nameWindow函数是用来设置展示窗口的大小,第一个关键字是窗口的名字,第二个参数是用来控制窗口大小的,我们这里设置了AUTOSIZE表示自动适应图片的大小。imread函数是用来获取图片信息,参数是图片的绝对路径。imshow是一个展示图片的函数,第一个关键字是窗口的名称,如果一开始已经设置了对应的窗口,它会直接在已经设置好的窗口里面显示图片,如果没有设置,他会重新命名一个相对应的窗口!waitKey函数里面只有一个参数,参数的意义是代表等待键盘读入的时间,此函数也是为了等键盘输入,如果没有这个函数,图片会一闪而过。其余格式和C++的格式也是对应相同的。

对应灰度图片,图片大小压缩,边缘检测

在这里插入图片描述


```cpp
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
	Mat img_rgb, img_gry, img_cny,img_pry;
	namedWindow("gray", WINDOW_AUTOSIZE);
	namedWindow("pry", WINDOW_AUTOSIZE);
	namedWindow("canny", WINDOW_AUTOSIZE);
	img_rgb = imread("F://lenna.jfif");
	cvtColor(img_rgb, img_gry, COLOR_BGR2GRAY);
	imshow("gray", img_gry);
	pyrDown(img_rgb, img_pry);
	imshow("pry", img_pry);
	Canny(img_gry, img_cny, 10, 100, 3, true);
	imshow("canny", img_cny);
	waitKey(0);
	return 0;
}```

前面介绍过的函数我们不再赘述。cvtColor函数是将原来图片转换为灰度图片,三个参数,第一个参数是保存原来图片信息的容器,第二个参数是保存灰度图片的容器,第三个参数是是原来RGB的参数信息。pyrDown函数是把图片变小和变模糊,参数也是一看就明白,另外函数的变化也有一种无脑的高斯卷积的方法,大家可以去查阅相关资料试一试。canny函数可以直接对矩阵进行Canny算子计算得到边缘,显示图片就能得到边缘。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值