opencv图像切割python_python opencv打开图片,切割图片区域的方法

在图片处理的时候,因为不是图片中所有区域都是有用的。所以需要可以人工选择区域的方式。

采用了opencv方式:

import cv2

src = cv2.imread("sk.jpg")

cv2.namedWindow('roi', cv2.WINDOW_NORMAL)

cv2.resizeWindow('roi',480, 320)

cv2.imshow('roi',src)              #####打开图片,按照要求显示

roi=cv2.selectROI(windowName="roi",img=src,showCrosshair=True,fromCenter=False)

x,y,w,h=roi

cv2.rectangle(img=src,pt1=(x,y),pt2=(x+w,y+h),color=(0,0,255),thickness=2)

img=src[y:y+h,x:x+w]  #####选择矩形区域(虽然可能不太合理,但也是个方法)

cv2.imshow('img',img)

cv2.imwrite('a1.jpg',img)   #####将选择的区域另存为一个文件

cv2.waitKey(0)

cv2.destoryAllWindows()

###########以上代码测试可用,但是不够智能化,需要后续改进

采用PIL模块,感觉更加的不智能化:

from PIL import Image

import os

pil_im=Image.open("sk.jpg")

out=pil_im.resize((480,320))

box=(200,200,300,300)

region=pil_im.crop(box)

region.show()

目前,两段代码都已经调试成功了,但是不能存储、也没能够插入到以往的代码中,这是问题。

你可能感兴趣的:(opencv图像切割python_python opencv打开图片,切割图片区域的方法)