OpenCV对图像的相关处理

本文介绍了如何在Qt环境中搭建OpenCV,包括读取图片、显示图片、模糊处理等基本操作,并强调了在Qt标签中显示图像需要进行的格式转换。还鼓励读者自行探索更多图像处理技术。
摘要由CSDN通过智能技术生成

OpenCV对图像的相关处理

环境搭建
在这里插入图片描述
这里需要注意的是你得先根据自己Qt库的位置,把opencv相关的库拷贝到里面去。怎么根据呢?你可以在安装目录或者打开Qt的属性也可以打开其安装目录。然后一步步查找到qt库的位置将opencv相关库拷进去。
在这里插入图片描述

包头文件
#include<opencv2/opencv.hpp>
#include
#include
这三个是比较常见的,其他的可以自己加
读取图片
在工程目录下放张图片
在这里插入图片描述

    //Mat img = imread("D:\\Vs\\opencv\\1.jpg");  //读入图像的绝对路径(方式1)
    //Mat img = imread("D:/Vs/opencv/1.jpg");  //读入图像的绝对路径 (方式2)
    Mat img=imread("1.jpg");//相对路径
    imshow("show",img);

这三种方式都是可以的,可以自由尝试。imshow是直接在运行窗口显示出来。

标签显示

cvtColor(img,img,COLOR_BGR2RGB);
QImage image(img.data,img.cols,img.rows,QImage::Format_RGB888);//Mat格式转成QImage
QLabel *label=new QLabel;
label->setPixmap(QPixmap::fromImage(image));
label->show();

或者

label->setPixmap(QPixmap::fromImage(image.rgbSwapped()));//跟cvtColor一样效果

在把label显示出来就行,都是一样的效果。应该先把BGR格式转换成RGB,在把Mat格式转换成QImage,才能让图片在标签里面显示,显示效果如下,一张是imshow出来的,一张是在标签显示的。
在这里插入图片描述

模糊处理

    Mat frame;
    blur(img,frame,Size(10,10));
    QImage image1;
    image1=QImage(frame.data,frame.cols,frame.rows,QImage::Format_RGB888);//Mat格式转成QImage
    QLabel *label1=new QLabel;
    label1->setPixmap(QPixmap::fromImage(image1));
    label1->show();

效果如下,可以自由修改参数达到不同的效果在这里插入图片描述

图片由像素点组成的验证

    Mat img=imread("1.jpg");//500*500
    cvtColor(img,img,COLOR_BGR2RGB);
    uchar ImageArray[img.cols*img.rows*3]={
   0};
    for(int i=0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值