Python Image Opencv图像处理各种方法

本文介绍了使用Python的OpenCV库进行图像二值化的处理方法,以实现图像语义分割的二分类或多分类需求。通过对比PIL库和OpenCV库的效果,展示了OpenCV如何快速有效地将彩色图像转换为黑白图像,并提供了代码示例,以及如何通过更改阈值参数实现黑白颜色的反转。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主要从这里学习到:http://www.cdadata.com/17816

图像语义分割结果要二分类或者多分类,会需要做二值化处理。
最开始想法很暴力,直接遍历,一个一个换:

        cv_pic = cv2.imread(img, cv2.IMREAD_GRAYSCALE)
        for i in range(len(cv_pic)):
            for j in range(len(cv_pic[i])):
                 # print(cv_pic[i][j])
                 if cv_pic[i][j] > 127.5:
                     cv_pic[i][j] = 255
                 elif cv_pic[i][j] < 127.5:
                     cv_pic[i][j] = 0
        cv2.imwrite(cv_path + '/' + imgname, cv_pic)

但是这样做就很慢,毕竟暴力解法不可取~~~所以找找现成的库。

原图类似这样的:
这里写图片描述
要转换成黑白两色。

先试试用PIL:

        I = Image.open(img)
        L = I.convert('1')
        L.save("242.png")

这里写图片描述
结果是这样的,不是我们想要的样子。

之后就用Opencv试试:

        cv_pic = cv2.imread(img, cv2.IMREAD_GRAYSCALE)
        binary, cv_save = cv2.threshold(cv_pic,127,255,cv2.THRESH_BINARY)
        print(cv_save)
        # cv2.imshow("haha", cv_save)
        # cv2.show()
        # exit(1)
        cv2.imwrite(imgname, cv_save)

这里写图片描述
这样的结果才是我们想要的。
如果要黑白色对换,只需将cv2.THRESH_BINARY换成cv2.THRESH_BINARY_INV,结果如图:
这里写图片描述
就这样~

吐嘲下上传图片功能,有时只能保存了再打开才能上传。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值