已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025江苏宿迁市城区开发投资限公司招聘管理岗4人易考易错模拟试题(共500题)试卷后附参考答案
- 2026年湖南国防工业职业技术学院单招职业适应性测试必刷测试卷及答案1套
- 2026年河北省邢台市单招职业适应性考试题库附答案
- 与他人合作课件教案
- 九年级政治复习教案
- 伟大征程舞蹈音乐教案
- 信息资源管理的教案
- 儿童绘画手残党教案
- 关于幼儿交往的教案
- 2026年益阳师范高等专科学校单招职业技能测试必刷测试卷及答案1套
- 卫生间改造专项施工方案
- 物业检修服务方案制定
- 中科院心理咨询师培训考试题库及答案-10心理咨询专业伦理(新版)
- 2025年辅警考试试题及答案真题
- 2025-2026学年福建省龙岩市初二英语上册期中考试试卷及答案
- 严重腹部创伤院内救治专家共识(2024)解读
- 初中物理作业设计
- GB/T 45817-2025消费品质量分级陶瓷砖
- 教师职业道德与专业发展知到智慧树章节测试课后答案2024年秋山东师范大学
- JJG 693-2011可燃气体检测报警器
- 中医药适宜技术开展项目登记本(参考样表)
评论
0/150
提交评论