【问题标题】:How to change the color for a certain area of an image?如何更改图像特定区域的颜色?
【发布时间】:2021-04-30 20:55:08
【问题描述】:

我正在尝试在 python 中覆盖段落内的图像。

这是原图,第一段中间有两张图片。

对不起,大图像文件..我想将第一段中间的两个图像转换成纯白色(用纯色覆盖它们)。我有这两张图片的坐标,但是我怎样才能改变这些特定区域的颜色呢?

这是这两张图片的 x,y 坐标:

image_1:

left, right = 678, 925
top, bottum = 325, 373

图像_2:

left, right = 130, 1534
top, bottum = 403, 1508

请帮忙!非常感谢!!

【问题讨论】:

标签: python image-processing colors crop cv2


【解决方案1】:

以下是如何在给定左上角和右下角的情况下“编辑”图像部分。

import cv2
import numpy as np

# load image
img = cv2.imread("page.jpg");

# target boxes
boxes = [];

# first box
tl = [678, 325];
br = [925, 373];
boxes.append([tl, br]);

# second box
tl = [130, 403];
br = [1534, 1508];
boxes.append([tl, br]);

# redact with numpy slicing
for box in boxes:
    tl, br = box;
    img[tl[1]:br[1], tl[0]:br[0]] = [255, 255, 255]; # replace with white

# show image
cv2.imshow("Redacted", img);
cv2.waitKey(0);
cv2.imwrite("redacted.png", img); # save

我不认为你给的盒子是正确的。第二个很大,第一个很小。这是一张使用这些盒子的图片:

此代码应该适用于任何框,因此只需将角坐标调整到正确的位置即可。

【讨论】:

    猜你喜欢
    • 2015-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多