将图像的颜色范围更改为其他颜色纹理

时间:2019-01-17 20:56:45

标签: python opencv colors python-imaging-library

我成功地将图像中的颜色范围更改为其他单一颜色。我想通过更改颜色以使其与色板的分布相匹配,或者至少与窄带的随机色相匹配来使其更加逼真。

一些棕褐色的草

enter image description here

变成了非常人造的绿色草

enter image description here

我的代码:

    var entity = new ImageSortOrder{ ImageSortOrderId = 862};
    db.ImageSortOrders.Attach(entity);

    // Now you can update the properties...

    // ...and save changes
    db.SaveChanges();

(感谢I want to change the colors in image with python from specific color range to another color解决方案的第一部分)

1 个答案:

答案 0 :(得分:1)

感谢@MarkSetchell的想法;以更自然的方式为蒙版区域着色的方法是利用HSV颜色模型上棕色和绿色相邻的事实,并在它们之间添加增量,并增强饱和度和值。

hsv[mask>0]=hsv[mask>0]+(25,30,10) #  add an HSV vector
image2=cv.cvtColor(hsv,cv.COLOR_HSV2BGR) # convert image back into RGB color space
cv.imwrite('result.jpg', image2)

在这里夸大效果:

enter image description here