python opencv打開圖片,切割圖片區(qū)域的方法
在圖片處理的時(shí)候,因?yàn)椴皇菆D片中所有區(qū)域都是有用的。所以需要可以人工選擇區(qū)域的方式。
采用了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] ?#####選擇矩形區(qū)域(雖然可能不太合理,但也是個(gè)方法)
CV2.imshow('img',img)
CV2.imwrite('a1.jpg',img) ? #####將選擇的區(qū)域另存為一個(gè)文件
CV2.waitKey(0)
CV2.destoryAllWindows()
###########以上代碼測(cè)試可用,但是不夠智能化,需要后續(xù)改進(jìn)
采用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()
目前,兩段代碼都已經(jīng)調(diào)試成功了,但是不能存儲(chǔ)、也沒能夠插入到以往的代碼中,這是問題。