当前位置: 首页 > news >正文

机器视觉开发-边缘提取

        边缘提取一般包括多个步骤,首先需要对图像进行二值化处理,把需要提取边缘的对象反转为黑色,再提取边缘信息。

1.显示图片窗口

import cv2# 读取本相对路径下的1.png文件
image = cv2.imread ("1.png")
# 将image对应图像在图像窗口显示出来
cv2.imshow('1',image)
# waitKey使窗口保持静态直到用户按下一个键
cv2.waitKey(0)

效果

 

2.获取二值灰度图

import cv2# 读取本相对路径下的1.png文件
image = cv2.imread ("1.png")
# 对图像进行阈值分割,阈值设定为80,得到二值化灰度图
ret,image1 = cv2.threshold(image,80,255,cv2.THRESH_BINARY)
cv2.imshow('grayscale',image1)# waitKey使窗口保持静态直到用户按下一个键
cv2.waitKey(0)

效果

 

3.对二值图进行反向

import cv2# 读取本相对路径下的1.png文件
image = cv2.imread ("1.png")
# 对图像进行阈值分割,阈值设定为80,得到二值化灰度图
ret,image1 = cv2.threshold(image,80,255,cv2.THRESH_BINARY)
image2 = image1.copy()		# 复制图片
for i in range(0,image1.shape[0]):	#image.shape表示图像的尺寸和通道信息(高,宽,通道)for j in range(0,image1.shape[1]):image2[i,j]= 255 - image1[i,j]cv2.imshow('colorReverse',image2)# waitKey使窗口保持静态直到用户按下一个键
cv2.waitKey(0)

效果 

4.边缘提取

import cv2# 读取本相对路径下的1.png文件
image = cv2.imread ("1.png")
# 对图像进行阈值分割,阈值设定为80,得到二值化灰度图
ret,image1 = cv2.threshold(image,80,255,cv2.THRESH_BINARY)
image2 = image1.copy()		# 复制图片
for i in range(0,image1.shape[0]):	#image.shape表示图像的尺寸和通道信息(高,宽,通道)for j in range(0,image1.shape[1]):image2[i,j]= 255 - image1[i,j]# 边缘提取
img = cv2.cvtColor(image2,cv2.COLOR_BGR2GRAY)
canny_img_one = cv2.Canny(img,300,150)
canny_img_two = canny_img_one.copy()	# 复制图片
for i in range(0,canny_img_one.shape[0]):	#image.shape表示图像的尺寸和通道信息(高,宽,通道)for j in range(0,canny_img_one.shape[1]):canny_img_two[i,j]= 255 - canny_img_one[i,j]
cv2.imshow('edge',canny_img_two)# waitKey使窗口保持静态直到用户按下一个键
cv2.waitKey(0)

 效果 

 

相关文章:

  • Java-43 深入浅出 Nginx - 基本配置方式 nginx.conf Events块 HTTP块 反向代理 负载均衡
  • 永磁同步电机无速度算法--基于稳态卡尔曼滤波器SSEKF的滑模观测器
  • 实战使用docker compose 搭建 Redis 主从复制集群
  • 【docker】docker registry搭建私有镜像仓库
  • Linux 杀进程指令详解:`kill -9 PID` 和 `kill -15 PID` 有什么区别?
  • 云计算迁移策略:分步框架与优势
  • 开源生态新势能: 驱动国产 DevSecOps 与 AI 工程新进展
  • Vim鼠标右键复制问题解决方法
  • 自定义鼠标效果 - 浏览器扩展使用教程
  • (新手友好)MySQL学习笔记(8):存储过程,自定义函数,游标
  • ubuntuserver24.04版本:redis编译安装时出现工具、依赖库问题解决方法
  • 大模型笔记_模型微调
  • 模拟IC设计提高系列5-温度角与蒙特卡洛仿真
  • AI任务相关解决方案8-基于卷积神经网络(CNN)和反向传播神经网络(BPNN)的数字图像水印改进算法
  • MCP使用
  • Leetcode20 (有效的括号)
  • 【慧游鲁博】【11】后端 · Spring Boot 集成 Python 配置
  • 统计学(第8版)——方差分析Ⅰ(考试用)
  • ES Modules 与 CommonJS 的核心区别详解
  • 台湾住宅IP哪家好,怎么找到靠谱的海外住宅IP代理商
  • 网站建设推广公司排名/关键词推广seo怎么优化
  • 如何做网站么/百度个人中心登录
  • wordpress和vue/seo首页优化
  • wordpress在手机版/windows优化大师好用吗
  • 动态网站建设答案/企业seo自助建站系统
  • 怎么让做的网站赚钱吗/国外推广网站