OpenCv之Canny

目录

一、自适应阈值

二、边缘检测Canny


一、自适应阈值

引入前提:在前面的部分我们使用是全局闻值,整幅图像采用同一个数作为闻值。当时这种方法并不适应与所有情况,尤其是当同一幅图像上的不同部分的具有不同亮度时。这种情况下我们需要采用自适应闻值。此时的闻值是根据图像上的每一个小区域计算与其对应的闻值。因此在同一幅图像上的不同区域采用的是不同的闻值,从而使我们能在亮度不同的情况下得到更好的结果

案例代码如下:

python 复制代码
import cv2
import numpy as np

img = cv2.imread('6.jpg')


cv2.namedWindow('img',cv2.WINDOW_NORMAL)
cv2.resizeWindow('img',1920,1080)

# 二值化操作是对灰度图像操作,把图像转为灰度图像
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

# 自适应阈值二值化只返回一个值,即二值化后的结果
dst = cv2.adaptiveThreshold(gray,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH_BINARY_INV,6,0)

# 展示
cv2.imshow('img',np.hstack((gray,dst)))

cv2.waitKey(0)
cv2.destroyAllWindows()

二、边缘检测Canny

Canny三个主要特征:

  • 低错误率
  • 高定位性
  • 最下响应

案例代码如下:

python 复制代码
import cv2
import numpy as np

# 导入图片
img = cv2.imread('6.jpg')

# 阈值越小,细节越丰富(阈值需自己调节)
lena1 = cv2.Canny(img,100,200)
lena2 = cv2.Canny(img,64,128)

# 展示图片
cv2.imshow('lena',np.hstack((lena1,lena2)))

cv2.waitKey(0)
cv2.destroyAllWindows()

运行结果如下:

相关推荐
Shockang4 小时前
AI 编码智能体生产化工程
人工智能
jay神6 小时前
深度学习确定baseline之后怎么做改进?
人工智能·深度学习·yolo·计算机视觉·分类
acrel76 小时前
安科瑞Acrel-1000变电站综合自动化系统在合肥某新材料公司35kV综合自动化项目中的应用分析
大数据·人工智能
UWA6 小时前
隐藏视频变“常驻刺客”,VideoPlayer与“N/A”纹理该怎么查
人工智能·性能优化·音视频·memory·cpu·游戏开发
V哥AI增长6 小时前
小红书笔记在生成式AI引擎中的可见性机制解析:从抓取原理到GEO工程化实践
大数据·人工智能·笔记
ajassi20006 小时前
AI语音智能体开发日记(十二)GX8006 固件定制指南——从双唤醒词到 UART 音频传输
人工智能·ai·ai编程
大模型momo6 小时前
告别单体 Agent:多智能体设计模式(Multi-Agent Patterns)深度实战手册
人工智能·agent·multi-agent·多agent
DisonTangor6 小时前
【SeeDream开源平替】MiniMax H3 重磅开源:全模态视频生成新标杆,2K 画质 + 原生立体声,15 秒大片一键生成!
人工智能·ai作画·开源·aigc·音视频
很楠爱上7 小时前
(附上相关学习资源)适合新手做的第一个agent项目*ovo*Dify Agent 全栈实战:从智能选车顾问到新能源汽车之家的端到端开发
人工智能·汽车·agent·项目·开发笔记
IT智慧客07317 小时前
2026年7月前端面试高频考点与趋势分析(面20个前端后的总结)
人工智能