一: 批量访问图像
"""
时间:2019.7.18 12:40:43
作者:小宇
"""
import os.path
import glob
import cv2
def maxinandout():
'''批量访问-处理-文件并按原文件名存储在指定的文件夹中'''
outdir=r"D:\\images\\asd"
for jpgfile in glob.iglob(r'D:\\images\\as\\*.jpg'):
img=cv2.imread(jpgfile, cv2.IMREAD_ANYCOLOR)
dst=img[1008:3024,:]
cv2.imwrite(os.path.join(outdir,os.path.basename(jpgfile)), dst)
二:改变图像大小
"""
时间:2019.7.19 12:40:43
作者:小宇
"""
import cv2
import numpy as np
img = cv2.imread('D:\\images\\asd\\d03.jpg')
def resize_photo(img):
"""改变输入图像的大小,此函数可以将图像改变为宽,高都小于600的图像 """
h,w= img.shape[:2]
print(h,w)
n=1
for n in range(1,10):
a=int(1/n*w)
b=int(1/n*h)
if a<=600 and b<=600:
break
else:
continue
img=cv2.resize(img,(a,b),interpolation=cv2.INTER_CUBIC)
cv2.imshow('dd',img)
cv2.waitKey(0)
print('处理后:',img.shape)
return img
resize_photo(img)
三:鼠标点击图像打印像素值
"""
时间:2019.7.20 12:40:43
作者:小宇
"""
'''单机鼠标左键,可打印出对应图像上的坐标、rgb值、hsv分量的值'''
import cv2
img = cv2.imread('D:\\images\\asd\\d31.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
def mouse_click(event, x, y, flags, para):
if event == cv2.EVENT_LBUTTONDOWN:
print('PIX:', x, y)
if __name__ == '__main__':
cv2.namedWindow("img",cv2.WINDOW_NORMAL)
cv2.resizeWindow('img',1600,800)
cv2.setMouseCallback("img", mouse_click)
while True:
cv2.imshow('img', img)
if cv2.waitKey() == ord('q'):
break
cv2.destroyAllWindows()