




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
include include include using namespace cv 把灰度图像转化为二值图像 Mat changeToBinaryImage Mat grayImage Mat binaryImage grayImage rows grayImage cols CV 8UC1 Scalar 0 转化为二值图像 for int i 0 i grayImage rows i for int j 0 j 100 binaryImage data i grayImage step j 255 else binaryImage data i grayImage step j 0 imshow binaryImage binaryImage return binaryImage 创建结构元素 一般结构元素 关于原点对称 Mat createSE int a 3 3 0 1 0 1 1 1 0 1 0 Mat structureElement 3 3 CV 8UC1 a 二值图像腐蚀操作 Mat binaryErosion Mat binaryImage Mat se 二值图像移动 Mat window se rows se cols CV 8UC1 定义一个矩阵 存储腐蚀后的图像 Mat binaryErosionImage binaryImage rows binaryImage cols CV 8UC1 Scalar 0 for int i se rows 1 2 i binaryImage rows se rows 1 2 i for int j se cols 1 2 j binaryImage cols se cols 1 2 j 先设置第 i 行第 j 列像素值为 255 即白色 binaryErosionImage data i binaryImage step j 255 for int row 0 row se rows row for int col 0 col se cols col 把 se 对应的元素赋值到与 se 结构相同的矩阵中 window data row window step col binaryImage data i row window rows 1 2 binaryImage step j col window cols 1 2 比较 se 与 window 中的像素值 int row col for row 0 row se rows row for col 0 col se cols col if se data row se step col window data row se step col break if col se cols continue else break if row se rows imshow binaryErosionImage binaryErosionImage return binaryErosionImage 二值图像膨胀操作 Mat binaryDilation Mat binaryImage Mat se 二值图像移动 Mat window se rows se cols CV 8UC1 定义一个矩阵 存储膨胀后的图像 Mat binaryDilationImage binaryImage rows binaryImage cols CV 8UC1 Scalar 0 for int i se rows 1 2 i binaryImage rows se rows 1 2 i for int j se cols 1 2 j binaryImage cols se cols 1 2 j 先设置第 i 行第 j 列像素值为 255 即白色 binaryDilationImage data i binaryImage step j 255 for int row 0 row se rows row for int col 0 col se cols col 把 se 对应的元素赋值到与 se 结构相同的矩阵中 window data row window step col binaryImage data i row window rows 1 2 binaryImage step j col window cols 1 2 比较 se 与 window 中的像素值 只要有一个相匹配 就把像素值设为 0 即置黑 int flag 0 标记是否有对应相等的像素值 0 表示没有 1 表示有 int row col for row 0 row se rows row for col 0 col se cols col if se data row se step col window data row se step col flag 1 if flag 如果有交集 就设置为黑 即 0 binaryDilationImage data i binaryImage step j 0 imshow binaryDilationImage binaryDilationImage return binaryDilationImage 灰度图像腐蚀操作 Mat grayErosion Mat grayImage Mat se 结构元素移动时所对应的源图像区域 Mat window se rows se cols CV 8UC1 定义一个矩阵 存储腐蚀后的图像 Mat grayErosionImage grayImage rows grayImage cols CV 8UC1 Scalar 0 for int i se rows 1 2 i grayImage rows se rows 1 2 i for int j se cols 1 2 j grayImage cols se cols 1 2 j 先设置第 i 行第 j 列像素值为 255 即白色 grayErosionImage data i grayImage step j 255 for int row 0 row se rows row for int col 0 col se cols col 把 se 对应的元素赋值到与 se 结构相同的矩阵 window 中 window data row window step col grayImage data i row window rows 1 2 grayImage step j col window cols 1 2 比较 se 与 window 中的像素值 在灰度图像中 腐蚀是取 window 中最小的值赋值给原点所对用的像素 int minPixel 255 int row col for row 0 row se rows row for col 0 col se cols col if window data row se step col minPixel minPixel window data row se step col grayErosionImage data i grayImage step j minPixel imshow grayErosionImage grayErosionImage return grayErosionImage 灰度图像膨胀操作 Mat grayDilation Mat grayImage Mat se 结构元素移动时所对应的源图像区域 Mat window se rows se cols CV 8UC1 定义一个矩阵 存储腐蚀后的图像 Mat grayDilationImage grayImage rows grayImage cols CV 8UC1 Scalar 0 for int i se rows 1 2 i grayImage rows se rows 1 2 i for int j se cols 1 2 j grayImage cols se cols 1 2 j 先设置第 i 行第 j 列像素值为 255 即白色 grayDilationImage data i grayImage step j 255 for int row 0 row se rows row for int col 0 col se cols col 把 se 对应的元素赋值到与 se 结构相同的矩阵 window 中 window data row window step col grayImage data i row window rows 1 2 grayImage step j col window cols 1 2 比较 se 与 window 中的像素值 在灰度图像中 膨胀是取 window 中最大的值赋值给原点所对用的像素 int maxPixel 0 int row col for row 0 row se rows row for col 0 col maxPixel maxPixel window data row se step col grayDilationImage data i grayImage step j maxPixel imshow grayDilationImage grayDilationImage return grayDilationImage 二值图像开操作 Mat binaryOpen Mat binaryImage Mat se Mat openImage binaryImage rows binaryImage cols CV 8UC1 Scalar 0 openImage binaryDilation binaryErosion binaryImage se se return openImage 二值图像闭操作 Mat binaryClose Mat binaryImage Mat se Mat closeImage binaryImage rows binaryImage cols CV 8UC1 Scalar 0 closeImage binaryErosion binaryDilation binaryImage se se return closeImage 灰度图像开操作 Mat grayOpen Mat grayImage Mat se Mat openImage grayImage rows grayImage cols CV 8UC1 Scalar 0 openImage grayDilation grayErosion grayImage se se return openImage 灰度图像闭操作 Mat grayClose Mat grayImage Mat se Mat closeImage grayImage rows grayImage cols CV 8UC1 Scalar 0 closeImage grayErosion grayDilation grayImage se se return closeImage 二值图像边界提取 Mat binaryBorder Mat binaryImage Mat se Mat borderImage binaryImage rows binaryImage cols CV 8UC1 Scalar 0 Mat erosionImage binaryImage rows binaryImage cols CV 8UC1 Scalar 0 erosionImage binaryErosion binaryImage se for int i 0 i erosionImage rows i for int j 0 j erosionImage cols j if binaryImage data i erosionImage step j erosionImage data i erosionImage step j borderImage data i erosionImage step j 255 return borderImage 灰度图像边界提取 Mat grayBorder Mat grayImage Mat se Mat borderImage grayImage rows grayImage cols CV 8UC1 Scalar 0 borderImage grayImage grayErosion grayImage se return borderImage 灰度图像梯度 Mat gradient Mat grayImage Mat se Mat gradient grayImage rows grayImage cols CV 8UC1 Scalar 0 gradient grayDilation grayImage se grayErosion grayImage se return gradient 灰度图像的顶帽运算 T f f fob Mat topHat Mat grayImage Mat se Mat topHatImage grayImage rows grayImage cols CV 8UC1 Scalar 0 topHatImage grayImage grayOpen grayImage se return topHatImage 灰度图像的底帽运算 B f f b f Mat bottomHat Mat grayImage Mat se Mat bottomHatImage grayImage rows grayImage cols CV 8UC1 Scalar 0 bottomHatImage grayClose grayImage se grayImage return bottomHatImage int main Mat src imread E project images 32 jpg Mat grayImage src rows src cols CV 8UC1 转化为灰度图像 cvtColor src grayImage CV BGR2GRAY imshow original Image src imshow gray Image grayImage 转化为二值图像 Mat binaryImage changeToBinaryImage grayImage 创建模板 一般结构元素关于自身原点对称 也可以自定义结构元素 下面的变量是 3 3 的矩阵 全部为 0 Mat structureElement 3 3 CV 8UC1 Scalar 0 调用二值图像腐蚀函数 binaryErosion binaryImage structureElement imshow binaryErosionImage binaryErosion binaryImage structureElement 调用二值图像膨胀函数 binaryDilation binaryImage structureElement imshow binaryDilationImage binaryDilation binaryImage structureElement 调用灰度图像腐蚀函数 grayErosion grayImage structureElement imshow grayErosionImage grayErosion grayImage structureElement 调用灰度图像膨胀函数 grayDilation grayImage structureElement imshow grayDilationImage grayDilation grayImage structureElement 调用二值图像开操作 imshow binaryOpe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《共同债务分担与个人信用保护的离婚协议书》
- 离婚协议中车辆归属及权益划分明确约定合同
- 离婚协议书子女监护权与财产分割详细约定
- 劳动合同与聘用合同在人力资源管理中的实际操作比较
- 商业空间装修安全协议范本(施工环境防护)
- 旅游度假村租赁合同附加旅游服务协议
- 国际教育培训项目合同履行与师资力量保障
- 河北省张家口市2020-2021学年高一上学期名校联考(期中考试)考试历史试题
- 中考备考方法课件
- 芦花歌曲教学课件
- 农民公寓买卖合同协议书
- 燃气检修工模拟试题(附答案)
- 2025居间服务合同范本(合同版本)
- 中老年唱歌教学课件下载
- 立体车库应急预案范文
- 严重腹部创伤院内救治专家共识(2024)解读
- 2025年国企计算机测试题及答案
- 2025年北师大新版数学三年级上册第六单元《乘除法的应用(二)》教案
- 2025年秋期人教版3年级上册数学核心素养教案(第7单元)(教学反思有内容+二次备课版)
- 《繁星》课件 小学语文新部编版四年级上册
- 瓶颈材料管理办法
评论
0/150
提交评论