OpenCV这么简单为啥不学——1.8、threshold阈值0-4效果对照图

举报
红目香薰 发表于 2023/02/09 11:56:16 2023/02/09
【摘要】 OpenCV这么简单为啥不学——1.8、threshold阈值0-4效果对照图 前言 cv2.threshold 效果对照 阈值0 阈值1 阈值2 阈值3 阈值4 生成示例循环代码

 编辑

OpenCV这么简单为啥不学——1.8、threshold阈值0-4效果对照图


目录

OpenCV这么简单为啥不学——1.8、threshold阈值0-4效果对照图

前言

cv2.threshold

效果对照

阈值0

阈值1

阈值2

阈值3

阈值4

生成示例循环代码



前言

计算机视觉市场巨大而且持续增长,且这方面没有标准API,如今的计算机视觉软件大概有以下三种:

1、研究代码(慢,不稳定,独立并与其他库不兼容)
2、耗费很高的商业化工具(比如Halcon, MATLAB+Simulink)
3、依赖硬件的一些特别的解决方案(比如视频监控,制造控制系统,医疗设备)这是如今的现状,而标准的API将简化计算机视觉程序和解决方案的开发,OpenCV致力于成为这样的标准API。

OpenCV致力于真实世界的实时应用,通过优化的C代码的编写对其执行速度带来了可观的提升,并且可以通过购买Intel的IPP高性能多媒体函数库(Integrated Performance Primitives)得到更快的处理速度。

故而我们选择学习OpenCV,我们来一步步的学习OpenCV。


cv2.threshold

语法:

cv2.threshold (src, thresh, maxval, type)

参数:

  1. src:源图片,必须是单通道
  2. thresh:阈值,取值范围0~255
  3. maxval:填充色,取值范围0~255
  4. type:阈值类型,有表数据
阈值对照表
阈值 小于阈值的像素点 大于阈值的像素点
0 置0 置填充色
1 置填充色 置0
2 保持原色 置灰色
3 置0 保持原色
4 保持原色 置0

效果对照

阈值0

小于阈值的像素点置0,大于阈值的像素点置填充色

编辑

阈值1

小于阈值的像素点置填充色,大于阈值的像素点置0

编辑

阈值2

小于阈值的像素点保持原色,大于阈值的像素点置灰色

编辑

阈值3

小于阈值的像素点置0,大于阈值的像素点保持原色

编辑

阈值4

小于阈值的像素点保持原色,大于阈值的像素点置0


生成示例循环代码

import shutil
import os
import cv2
import numpy as np

fileName = '800_600.jpg'
# 新建文件夹,用于存放新生成的阈值图片
save_dir = 'main_img/'
try:
    # 递归删除文件夹
    shutil.rmtree(save_dir)
except OSError:
    pass
# 创建
os.makedirs(save_dir)

# 单通道图片
img = cv2.imread(fileName)
imGray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# 生成0~4的对照图片
for type in range(0, 5, 1):
    _, thresh = cv2.threshold(src=imGray, thresh=150, maxval=100, type=type)
    concat_pic = np.concatenate([imGray, thresh], axis=1)
    cv2.imwrite('{0}type={1}.jpg'.format(save_dir, type), concat_pic)


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。