python把图片黑色变成白色的代码
时间: 2023-11-08 07:06:09 浏览: 44
以下是Python将图片黑色变成白色的代码:
```
from PIL import Image
# 打开图片
im = Image.open('image.jpg')
# 获取图片的大小
width, height = im.size
# 循环每个像素点
for x in range(width):
for y in range(height):
# 获取当前像素点的RGB值
r, g, b = im.getpixel((x, y))
# 判断当前像素点是否为黑色
if r == 0 and g == 0 and b == 0:
im.putpixel((x, y), (255, 255, 255)) # 将黑色像素点变成白色像素点
# 保存修改后的图片
im.save('new_image.jpg')
```
注意:该代码只能将纯黑色像素点变为白色,如果图片中存在浅色或灰色的像素点可能会出现意想不到的结果。
相关问题
python 把图片内黑色部分变成白色的代码
以下是可以将图片黑色部分变为白色的 Python 代码:
```python
from PIL import Image
# 打开原始图片
img = Image.open("original_image.jpg")
# 转换成灰度图像
gray = img.convert('L')
# 将灰度图像转换成黑白二值化图像
bw = gray.point(lambda x: 0 if x<128 else 255, '1')
# 反转图片颜色(白色变成黑色,黑色变成白色)
inv = bw.convert('L')
inv = ImageOps.invert(inv)
# 显示或保存修改后的图片
inv.show()
inv.save("modified_image.jpg")
```
在这段代码中,首先打开原始图片,然后将图片转换成灰度图像以方便后续处理。接着,将灰度图像转换成黑白二值化图像,其中像素值小于128的设为0(黑色),大于等于128的设为255(白色)。然后将二值化图像的颜色反转,即将白色变为黑色,黑色变为白色。最后可以选择显示或保存修改后的图片。
python 把图像中所有非黑色区域变成白色
可以使用OpenCV库来实现这个操作,具体步骤如下:
1. 读入图片并转换为灰度图像。
2. 将灰度图像二值化,将所有非黑色区域设为255(白色),所有黑色区域设为0。
3. 将二值化后的图像取反,即将白色变成黑色,黑色变成白色。
下面是代码示例:
```python
import cv2
# 读入图片并转换为灰度图像
img = cv2.imread('input.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 将灰度图像二值化
_, binary = cv2.threshold(gray, 1, 255, cv2.THRESH_BINARY)
# 将二值化后的图像取反
binary = cv2.bitwise_not(binary)
# 显示结果并保存
cv2.imshow('result', binary)
cv2.imwrite('output.jpg', binary)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
运行后,会将原图中所有非黑色区域变成白色,并保存为output.jpg。