步骤如下(参考所给代码):
1.导入cv2和numpy库
2.创建窗口用来显示图片
3.读取想要黑白色反转的图片,若不指定路径则默认从程序所在文件夹中读取,没有该文件会报错
4.将图片改为灰度图后黑白色反转
5.显示反转后的图片,按键‘q’可退出并删除图片窗口,按键‘s’可保存反转后的图片于程序所在的文件夹中
import cv2
import numpy as np
#创建窗口
cv2.namedWindow('img',cv2.WINDOW_NORMAL)
cv2.resizeWindow('img',239,320) #大小可根据下面print(imgInfo)输出的值更改
#读取图片
img=cv2.imread('myfaceedges.bmp',1) #读取的图片须在运行程序的文件夹内
#将图片改为灰度图后黑白反转
imgInfo = img.shape #读取图片大小
height=imgInfo[0] #得出图片高度
width=imgInfo[1] #得出图片宽度
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
dst=np.zeros((height,width,1),np.uint8) #将图片改为灰度图
#黑白反转
for i in range(0,height):
for j in range(0,width):
grayPixel=gray[i,j]
dst[i,j]=255-grayPixel
#显示反转后的图片
while True:
cv2.imshow('img',dst) #显示反转图片
print(imgInfo) #显示图片大小
key=cv2.waitKey(0) #按键操作,‘q’退出并删除窗口,‘s’保存反转后的图片
if key==ord('q'):
break
elif key==ord('s'):
cv2.imwrite('./myfaceedges.jpeg',dst)
cv2.destroyAllWindows()