日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

自学python(2):利用opencv实现读图,显示,画框,裁剪的python代码

發(fā)布時間:2023/12/20 python 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 自学python(2):利用opencv实现读图,显示,画框,裁剪的python代码 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

#讀圖,顯示的代碼

import cv2 # 讀取圖像 img = cv2.imread(r'C:/labs/opencvtest/1.jpg', cv2.IMREAD_COLOR) #第一個參數(shù)是路徑,第二個參數(shù)是讀取方式,這里也可以寫成1,三通道讀取圖片 # 創(chuàng)建窗口 cv2.namedWindow('opencv', cv2.WINDOW_NORMAL) #第一個參數(shù)是窗口名字,第二個參數(shù)是呈現(xiàn)方式,這里表示自定義,WINDOW_AUTOSIZE表示自適應 # 設置窗口大小 cv2.resizeWindow('opencv', 1200, 800) #參數(shù)分別是(窗口名稱,寬, 高) # 顯示圖像 cv2.imshow('opencv', img) #第一個參數(shù)是窗口名字,第二個參數(shù)是要顯示的圖像,見line3,即imread讀取的圖像名字 # 保存圖像 cv2.imwrite(r'C:/labs/opencvtest/2.jpg', img) # 等待時間 cv2.waitKey() #如果x=0,那么無限等待下去,直到有按鍵按下. # 銷毀指定窗口 cv2.destroyWindow('opencv') # 銷毀所有窗口 # cv2.destroyAllWindows()

#畫框的代碼

#利用opencv畫框圖import cv2 #調(diào)用opencv模塊imgpath = "C:/labs/opencvtest/1.jpg" #寫入路徑 img = cv2.imread(imgpath) #讀取圖像 print(img.shape) #查看圖片尺寸""" 在圖片的指定位置加邊框,左上角的像素坐標是(100,100) 右下角的像素坐標是(500,500) 且一定注意,像素坐標值都是正整數(shù) (0,255,0)表示邊框顏色是綠色 3表示邊框的線寬度為3 """cv2.rectangle(img,(500,100),(1000,500),(0,255,0),3) cv2.imshow("Image", img) #顯示圖片 cv2.waitKey (0) #邊框等待時長 cv2.destroyAllWindows() #關閉所有邊框 cv2.imwrite("C:/labs/opencvtest/3.jpg", img) #導出圖片,注意新的文件不要與原圖重名,否則會覆蓋原圖

#裁剪的代碼

  • 固定位置剪裁
#調(diào)用opencv import cv2# 讀取圖像 img = cv2.imread(r'C:/labs/opencvtest/1.jpg', cv2.IMREAD_COLOR) # ROI獲取,如果對圖像的某一區(qū)域感興趣,可使用切片方式獲取。 roi = img[200:400, 300:500] # 創(chuàng)建窗口 cv2.namedWindow('opencv', cv2.WINDOW_NORMAL) # 設置窗口大小(窗口名稱,(寬, 高)) cv2.resizeWindow('opencv', (350, 400)) # 顯示圖像 cv2.imshow('opencv', roi) # 等待時間 cv2.waitKey() # 銷毀窗口 cv2.destroyAllWindows()

  • 自定義剪裁
import cv2 #調(diào)用opencvimgpath = '1.jpg' #寫入路徑 img = cv2.imread(imgpath) #讀取照片 cv2.imshow('original', img) #顯示照片#選擇roi區(qū)域 roi = cv2.selectROI(windowName="original", img=img, showCrosshair=True, fromCenter=False) # 選擇ROI區(qū)域 x, y, w, h = roi #將選擇的roi區(qū)域轉(zhuǎn)換成坐標,x,y為ROI的坐標,w,h為ROI的大小 print(roi) #輸出roi區(qū)域的坐標# 顯示ROI并保存圖片 if roi != (0, 0, 0, 0): crop = img[y:y+h, x:x+w] #切片獲取roi區(qū)域cv2.imshow('crop', crop) #顯示roi區(qū)域cv2.imwrite('crop.jpg', crop) #保存roi區(qū)域print('Saved!') #輸出保存成功cv2.waitKey(0) #邊框等待時長 cv2.destroyAllWindows() #關閉所有邊框

如若剛?cè)腴T的小白看不懂程序,可以查看鏈接:在實戰(zhàn)中學習python語法_vitalgirl的博客-CSDN博客
該鏈接把各個函數(shù)解釋的很清楚,對小白十分友好。

總結(jié)

以上是生活随笔為你收集整理的自学python(2):利用opencv实现读图,显示,画框,裁剪的python代码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。