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

运行结果如下:

相关推荐
Quintus五等升14 小时前
深度学习④|分类任务—VGG13
人工智能·经验分享·深度学习·神经网络·学习·机器学习·分类
2501_9361460414 小时前
小型机械零件识别与分类--基于YOLO12-A2C2f-DFFN-DYT模型的创新实现
人工智能·分类·数据挖掘
天天讯通15 小时前
金融邀约实时质检:呼叫监控赋能客服主管
人工智能·金融
飞Link15 小时前
深度解析 MSER 最大稳定极值区域算法
人工智能·opencv·算法·计算机视觉
夜勤月15 小时前
给AI装上“文件之手”:深入解析MCP文件系统服务的安全沙箱与读写实践
人工智能·安全
万物得其道者成16 小时前
UI UX Pro Max: AI 驱动的设计系统生成引擎深度解析
人工智能·ui·ux
码农三叔16 小时前
(3-2)机器人身体结构与人体仿生学:人形机器人躯干系统
人工智能·架构·机器人·人形机器人
bleuesprit16 小时前
LLM语言模型Lora微调
人工智能·语言模型·lora
sunxunyong16 小时前
CC2Github配置
人工智能
B站计算机毕业设计超人16 小时前
计算机毕业设计Python知识图谱中华古诗词可视化 古诗词情感分析 古诗词智能问答系统 AI大模型自动写诗 大数据毕业设计(源码+LW文档+PPT+讲解)
大数据·人工智能·hadoop·python·机器学习·知识图谱·课程设计