opencv轮廓抖动_opencv python图像抖动

这篇博客介绍了一段使用Python和OpenCV实现Floyd-Steinberg方法进行图像抖动的代码。虽然该代码在某些图像上运行良好,但存在一个问题:在白色区域会产生不必要的颜色点,特别是在图像的右上角。作者展示了如何应用抖动算法到图像的蓝、绿、红色通道,并提供了原始图像、处理后的图像和灰度图像的对比。
摘要由CSDN通过智能技术生成

我用python编写了一个用于图像抖动的代码,它对某些图像效果很好,但对于某些图像,它在白色区域生成了不必要的颜色。在#IMAGE DITHERING BASED ON Floyd-Steinberg METHOD

#author : bharath kotari

#date :18-1-2018

import cv2

import numpy as np

def set_pixel(im,x,y,new):

im[x,y]=new

def quantize(im):

for y in range(0,height-1):

for x in range(1,width-1):

old_pixel=im[x,y]

if old_pixel<127:

new_pixel=0

else:

new_pixel=255

set_pixel(im,x,y,new_pixel)

quant_err=old_pixel-new_pixel

set_pixel(im,x+1,y,im[x+1,y]+quant_err*w1)

set_pixel(im,x-1,y+1, im[x-1,y+1] + quant_err*w2 )

set_pixel(im,x,y+1, im[x,y+1] + quant_err * w3 )

set_pixel(im,x+1,y+1, im[x+1,y+1] + quant_err * w4 )

return im

img=cv2.imread("/home/user/Download

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值