首页 > 其他分享 >opencv图片的二值化操作

opencv图片的二值化操作

时间:2024-10-09 19:18:41浏览次数:16  
标签:img 阈值 cv2 filename opencv main 二值化 图片

        在图像处理领域中,二值化操作是一种非常基础且重要的技术。它将灰度图像或彩色图像转换为仅包含两种像素值的图像,即黑色和白色(或者更一般地说,前景和背景)。这种操作在处理图像时极大地简化了图像数据的复杂度,使得后续的图像分析和处理步骤变得更加高效和直观。

        二值化操作的核心在于选择一个合适的阈值,这个阈值决定了哪些像素值被归为前景(通常是白色),哪些被归为背景(通常是黑色)。阈值的选择可以根据具体需求采用固定值、自适应算法或基于图像统计的方法来确定。

        本文旨在介绍如何使用Python及其图像处理库来实现图像的二值化操作,包括基础的二值化方法、自适应阈值方法以及一些高级技巧。通过学习和实践这些技术,你将能够更好地理解和应用二值化在图像处理中的重要作用。

        通过基本的像素处理图像的遍历可以实现设置阈值将图片二值化:

import cv2

def main(filename):
    img = cv2.imread(filename,flags=0)
    for i in range(len(img)):
        for j in range(len(img[i])):
            if img[i][j] < 150:
                img[i][j] = 0
            else:
                img[i][j] = 255
    cv2.imshow('window',img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

main('f1.png')

        如图即为二值化后的图片,例如在检测牙垢,拍胸片等方面可以更加便于观察。

        在以上的代码中,设置阈值为150,即低于阈值的相对来说更加暗一点,那么就让它变得更暗。反之变得更亮。

        如果我们想让亮的地方变暗,暗的地方变亮,只需要把if的判断条件修改为img[i][j]>150即可

import cv2

def main(filename):
    img = cv2.imread(filename,flags=0)
    for i in range(len(img)):
        for j in range(len(img[i])):
            if img[i][j] > 150:
                img[i][j] = 0
            else:
                img[i][j] = 255
    cv2.imshow('window',img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

main('f1.png')

        而在python的opencv包中也提供了一些方法,让我们快速将图片二值化,同时设置阈值。

import cv2

def main(filename):
    img = cv2.imread(filename,flags=0)
    t,img = cv2.threshold(img,127,255,cv2.THRESH_BINARY)
    cv2.imshow('window',img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

main('f1.png')

这样就可以更快得将图片二值化,如果想反二值化,就把最后一个参数设置为cv2.THRESH_BINARY_INV

标签:img,阈值,cv2,filename,opencv,main,二值化,图片
From: https://blog.csdn.net/2302_80091643/article/details/142794002

相关文章

  • KINDEDITOR 实现CTRL+V粘贴图片并上传、WORD粘贴带图片
    编辑器:KindEditor需求:从word复制粘贴内容和图片系统:windows,macOS,linux,信创国产化前端:vue2,vue3,vue-cli,后端:java,asp.net,php,asp要求:开源,免费,技术支持最近这块好像很火,或者说需求有点旺盛,今天早上又有网友加我微信,实际上之前就已经在网上公布了微信号了,但是很多......
  • 富文本编辑器UEDITOR支持从WORD复制粘贴保留格式和图片的插件
    编辑器:百度ueditor前端:vue2,vue3,vue-cli,html5需求:复制粘贴word内容图片,word图片转存交互,导入pdf,导入PowerPoint(PPT)要求:开源,免费,技术支持用户体验:Ctrl+V快捷键操作该说不说,最近这块应该也是挻火的,今天早上又有网友加我微信私聊,说是想了解一下这块的技术和方案。实......
  • 部署cogview图片生成模型
       CogView3是一种新颖的文本生成图像系统,采用了接力扩散的方式,将生成高分辨率图像的过程分解为多个阶段。通过接力的超分辨率过程,对低分辨率生成结果添加高斯噪声,并从这些带噪声的图像开始扩散。我们的结果显示,CogView3的表现优于SDXL,获胜率达到77.0%。此外,通过对扩......
  • 公司网站的图片怎么更换
    更换公司网站上的图片可以通过以下几个步骤来实现:备份现有网站:在进行任何更改前,确保备份现有网站的所有文件和数据库,以防意外丢失数据。准备新图片:确保新图片已经准备好,并且符合网站的要求(例如尺寸、格式、质量等)。登录网站管理后台(如果适用):如果你的网站使用了内......