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()

运行结果如下:

相关推荐
我叫侯小科12 小时前
YOLOv4:目标检测界的 “集大成者”
人工智能·yolo·目标检测
小姐姐味道12 小时前
AI应用时代:多读论文勤尝试,少做讨论少分享,是活下去的关键
人工智能·程序员·开源
星期天要睡觉12 小时前
大模型(Large Language Model, LLM)——什么是大模型,大模型的基本原理、架构、流程
人工智能·python·ai·语言模型
墨利昂12 小时前
机器学习和深度学习模型训练流程
人工智能·深度学习·机器学习
wktomo12 小时前
数据挖掘比赛baseline参考
人工智能·数据挖掘
言之。13 小时前
大语言模型科普报告
人工智能·语言模型·自然语言处理
文火冰糖的硅基工坊13 小时前
[人工智能-大模型-27]:大模型应用层技术栈 - 大语言模型中的token是什么?
人工智能·语言模型·自然语言处理
Test-Sunny13 小时前
【AI增强质量管理体系结构】AI+自动化测试引擎 与Coze
人工智能
gaosushexiangji13 小时前
庆祝第33届国际高速成像与光子学会议盛大召开(I)—sCMOS相机在物理与光电成像领域应用
人工智能·制造
gaosushexiangji13 小时前
恭贺第33届国际高速成像与光子学会议盛大召开(II)—sCMOS相机在细胞与生物成像领域应用
人工智能