本文为个人学习过程中的记录,如有错误,欢迎指出。

BGR转RGB

opencv:BGR转RGB 代码如下

// An highlighted block
Mat srcImg =imread("1.jpg");//读图,MAT图片格式默认是BGR
Mat destImg ;
cvtColor(srcImg,destImg,COLOR_BGR2RGB);//用opencv把BGR转为RGB,转为BGR的结果放在destImg

opencv的MAT类型转QT中的QImage,并使用label显示图片

下面展示一些 代码片


//注意:用QT显示Mat类型,会导致图片颜色有问题,因为QT显示是RGB,而Mat是BGR,因此要先把BGR,转为RGB再显示
Mat befImg =imread("1.jpg");//MAt will save image infomation
cvtColor(befImg ,befImg ,COLOR_BGR2RGB);//用opencv把BGR转为RGB,转为BGR的结果放在befImg,也就是此时的befImg已经是RGB类型的
QImage img(befImg.data ,befImg.cols,befImg.rows,befImg.step,QImage::Format_RGB888);ui->label->setPixmap(QPixmap::fromImage(img));//QT,用label显示图片

图片灰度、腐蚀、膨胀、降噪、模糊

图片灰度:

灰度图就是把原先三通道的彩图,转为
图片二值化:二值化是通过遍历灰度图中点,将图像信息二值化处理,处理过后的图片只有二种色值。图片二值化针对的对象是灰度图,在进行二值化之前一定要先将图片转为灰度图,然后才能进行二值化。

//opencv图片二值化,要先灰度,再二值化
Mat befImg =imread("omo.png");//MAt will save image infomation
Mat imgGray;//灰度图
Mat img2;//二值化图
cvtColor(befImg,imgGray,COLOR_BGR2GRAY);//先转为灰度图
threshold(imgGray,img2,80.0,100.0,THRESH_BINARY);
//参数一:InputArray类型,输入的灰度图,单通道
//参数二:OutputArray类型,二值化运算后,结果存放在这个参数中
//参数三:double类型的thresh,自己设置的阈值
//参数四:double类型的maxval,最大值
//参数五:int类型的type,选择阀值的算法。
//参数五的类型有:THRESH_BINARY , 当前点值大于阈值时,取Maxval,也就是第四个参数,否则设置为0;
//THRESH_BINARY_INV 当前点值大于阈值时,设置为0,否则设置为Maxval
//THRESH_TRUNC 当前点值大于阈值时,设置为阈值,否则不改变;
//THRESH_TOZERO 当前点值大于阈值时,不改变,否则设置为0;
//THRESH_TOZERO_INV  当前点值大于阈值时,设置为0,否则不改变
imshow("imgGray",img2);//显示灰度图
imshow("img2",img2);//显示二值化图片

图片腐蚀:

将图像的边缘腐蚀掉,剔除目标边缘的毛刺。图片腐蚀是针对二值化图片数据进行操作。

//腐蚀加黑,去掉毛刺,腐蚀边沿Mat img_erode;//用来存反腐蚀后的图片数据Mat elem =getStructuringElement(MORPH_RECT,Size(4,4));erode(img2,img_erode,elem);//img2是二值化后的图片imshow("imgerode",img_erode);显示腐蚀后的图片

图片膨胀:

将图像的边缘扩大,填补目标边缘或者内部的坑。图片膨胀也是针对二值化图片数据进行操作。

 //膨胀加白Mat img_dilate;//用来存反膨胀后的图片数据Mat elem =getStructuringElement(MORPH_RECT,Size(4,4));dilate(img2,img_dilate,elem);//img2是二值化图片imshow("imfdilate",img_dilate);//显示膨胀后的图片

运行结果:左边腐蚀,右边膨胀

图片降噪:

以下是使用中值滤波的方式进行降噪:

//降噪Mat befImg = imread("face1.jpg");//读图Mat img_medi;//存放降噪后的图片数据medianBlur(img_erode,img_medi,3);//中值滤波imshow("befImg",befImg );imshow("img_medi",img_medi);
``

左边原图,右边降噪

图片模糊:

Mat befImg =imread("omo.png");
Mat imgBlur ;//用来存放模糊后图片的数据
blur(befImg,imgBlur,Size(10,10));//para1:srcImg  ,para2:destImg,Size(10,10)是模糊的大小
imshow("befimg",befImg);
imshow("imgBlur",imgBlur);

运行结果:左边原图,右边模糊

opencvBGR转RGB,图片灰度、腐蚀、膨胀、降噪、模糊的代码例子相关推荐

  1. RGB图片转换为灰度图片,以及图像和numpy矩阵之间的转换

    1. 转换一张图片RGB==> 灰度图(一维) from PIL import Image# 加载RGB图片 I = Image.open('/home/timg.jpg') I.show() ...

  2. python爬虫验证码识别 (手把手教会你验证码识别)opencv图像处理 图片处理 验证码处理 降噪 简单易懂验证码处理

    前言:验证码是个烦人的小家伙!当然有很多打码平台,可以轻松解决!但可以自己来,干嘛靠别人!有技术不学是傻儿童!今天主要讲opencv来解决验证码!抱着怀里教你!让你向前迈一大步!详细讲,慢慢看!简单易 ...

  3. 图像的平滑滤波、边缘检测、阈值化、腐蚀膨胀等原理介绍

      一幅图像可以定义为一个二维函数f(x,y)f(x,y)f(x,y),其中xxx和yyy是空间/平面坐标,而在任何一对空间坐标(x,y)(x,y)(x,y)处的幅值fff称为图像在该点处的强度或灰度 ...

  4. matlab 腐蚀算法,【zz】matlab 腐蚀膨胀算法

    1.图像膨胀的Matlab实现: 可以使用imdilate函数进行图像膨胀,imdilate函数需要两个基本输入参数,即待处理的输入图像和结构元素对象.结构元素对象可以是strel函数返回的对象,也可 ...

  5. FPGA实现图像二值形态学滤波——腐蚀膨胀

    一.二值图像 二值图像(Binary Image)是指图像上的每一个像素只有两种可能的取值或灰度等级状态.简言之,在图像中灰度等级只有两种0或255(黑或白). 二.形态学 形态学,即数学形态学(Ma ...

  6. halcon区域腐蚀膨胀算子_OpenCV 图像处理之膨胀与腐蚀

    1.什么是膨胀与腐蚀 膨胀与腐蚀属于形态学范围,具体的含义根据字面意思来理解即可.但是更形象的话就是"增肥"与"减肥". 它们的用途就是用来处理图形问题上.总结 ...

  7. 有趣的6种图片灰度转换算法

    本文转载自blog 转载请注明出处 前言 黑白照片的时代虽然已经过去,但现在看到以前的照片,是不是有一种回到过去的感觉,很cool有木有~ 看完这篇文章,就可以把彩色照片变成各种各样的黑白的照片啦. ...

  8. golang实现图片颜色反转、图片灰度、缩放、转为字符画

    看到网上很多通过字符形成的画,觉得很好玩,于是网上搜索了下原来叫字符画. 见百度百科:https://baike.baidu.com/item/%E5%AD%97%E7%AC%A6%E7%94%BB/ ...

  9. FPGA图像处理HLS实现RGB转灰度,提供HLS工程和vivado工程源码

    目录 一.图像RGB转灰度原理 二.HLS方案实现 三.HLS在线仿真并导出IP 四.Kintex7开发板vivado工程验证 五.zynq7100开发板vivado工程验证 六.板级调试验证 七.福 ...

最新文章

  1. iphone屏幕录制没声音_苹果屏幕录制没有声音?快检查这个功能是否打开
  2. 网络编程学习笔记(IPv4套接口选项)
  3. java vertx http_佛系学习Vert.x之创建你的HttpServer
  4. 《计算机组成原理》第08章在线测试
  5. QT的QNdefFilter类的使用
  6. Java sqlite事务方法,Java SQLiteDatabase.insert方法代码示例
  7. 阿里云数字巡展:“云上峰会”背后的秘密武器
  8. 暴风集团:冯鑫因涉嫌对非国家工作人员行贿被公安机关拘留
  9. 控制手机 滑动 蓝牙hid_米家LED灯泡蓝牙Mesh版,助你打造温馨的智能家庭
  10. 查询性能优化 in and union
  11. 广数系统加工中心编程_数控铣和加工中心编程
  12. Animation动画详解
  13. IDEA连接MySQL数据源配置和mybatis整合
  14. PCL——简单点云可视化
  15. 打印1000年到2000年之间的闰年
  16. android 流失布局,GitHub - hongyangAndroid/FlowLayout: [不再维护]Android流式布局,支持单选、多选等,适合用于产品标签等。...
  17. 50万粉丝单场带货破200万!这些快手美妆黑马主播是如何在双十一前夕涨粉又爆单的?
  18. AlgLib 使用----稀里糊涂
  19. PDF矢量图片转为EPS格式图片的方法
  20. 来自不同行业领域的50多个对象检测数据集

热门文章

  1. 【jiasuba】分享:USBoot软件 实现从优盘引导系统
  2. 验证码识别工具——Pkav HTTP Fuzzer
  3. kangle利用ep面板配置https
  4. linux下载文件命令wget
  5. 10、Scanner类.Random类.Arraylist类
  6. 汇编语言DW、DB和DD的区别
  7. openstack手搭T版(centos7)
  8. Science | 人体可以依靠饥饿感来延缓衰老
  9. Super日语在线背诵 - 沪江网
  10. 【神经网络】11行Python代码实现的神经网络