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

歡迎訪問 生活随笔!

生活随笔

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

python

python截取图片的ROI+OpenCV 在坐标中显示图片+鼠标点击图片显示点坐标

發布時間:2023/12/20 python 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python截取图片的ROI+OpenCV 在坐标中显示图片+鼠标点击图片显示点坐标 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

又來做下筆記了。現在我的畢業設計進行到數據處理的階段,要在乳腺圖像上截取4張相同大小的1024*1024圖片,并且每張圖片都必須覆蓋微鈣化點,以下是我現在用到的一些簡單程序。
1.首先是截圖程序如下

import numpy as np import cv2 img = cv2.imread('E:\desktop\cal\mdb209ll.pgm',1) #加載圖片 cutimg = img[1330:2354,1614:2638] # 其中截取的是[y1:y2,x1:x2],x1y1為左上角頂點坐標,x2y2為右下角頂點坐標 #在圖像里,都是以原圖的左上頂點為原點,行對應的是y坐標,列對應的是x坐標。 #cv2.imshow('origin',img) #展示原圖 cv2.imshow('image',cutimg) #展示截圖 cv2.imwrite('209.png',cutimg) #保存截圖 k=cv2.waitKey(0) #無限刷新展示圖片,除非按esc關閉所有窗口 if k==27:cv2.destroyAllWindows()

效果如下:
原圖:
截圖:

2.opencv在plot中顯示圖片(帶坐標軸)
程序如下:

import numpy as np import cv2 from matplotlib import pyplot as pltimg = cv2.imread('E:\desktop\cal\mdb209ll.pgm') # 讀取圖片plt.imshow(img) """ 彩色圖像使用 OpenCV 加載時是 BGR 模式。但是 Matplotlib是 RGB 模式。所以彩色圖像如果已經被OpenCV 讀取,它將不會被 Matplotlib 正確顯示。 """ #plt.xticks([]), plt.yticks([]) # 隱藏x軸和y軸的函數值 plt.show()

效果如下:

鼠標點擊圖片顯示點及坐標,程序如下:

# coding: utf-8 import cv2 import numpy as npimg = cv2.imread("E:\desktop\mask another\m209.jpg")# print img.shapedef on_EVENT_LBUTTONDOWN(event, x, y, flags, param):if event == cv2.EVENT_LBUTTONDOWN:xy = "%d,%d" % (x, y)printxycv2.circle(img, (x, y), 1, (255, 0, 0), thickness=-1)cv2.putText(img, xy, (x, y), cv2.FONT_HERSHEY_PLAIN,5.0, (255, 255, 255), thickness=5)cv2.imshow("image", img)cv2.namedWindow("image",cv2.WINDOW_KEEPRATIO) cv2.setMouseCallback("image", on_EVENT_LBUTTONDOWN) cv2.imshow("image", img)while (True):try:cv2.waitKey(100)except Exception:cv2.destroyWindow("image")breakcv2.waitKey(0) cv2.destroyAllWindow()

解釋一下,其中
cv2.putText(img, ‘xy’, (50, 50), font, 1.2, (255, 255, 255), 2)
這個函數是加入文字的意思,后面括號里依次對應:(圖像,文字內容, 坐標 ,字體,大小,顏色,字體厚度)

今天還遇到一個問題,就是如果載入的圖片太大,比如一些高分辨率的醫學圖像,運行出來顯示圖片的時候會只顯示圖像的一部分。下面用cv2.namedWindow() 函數來解決。

效果圖如下:

**cv2.nameWindow()**函數的用法如下:

1.窗口大小可以改變:

cv2.namedWindow("image",cv2.WINDOW_NORMAL) 或者cv2.namedWindow('image',cv2.WINDOW_GUI_NORMAL)

2.窗口大小不可以改變:

cv2.namedWindow("image",cv2.WINDOW_AUTOSIZE)

3.窗口大小自適應比例:

cv2.namedWindow("image",cv2.WINDOW_FREERATIO)

4.窗口大小保持比例:

cv2.namedWindow("image",cv2.WINDOW_KEEPRATIO)

5.顯示色彩變成暗色:

cv2.namedWindow('image',cv2.WINDOW_GUI_EXPANDED)

cv2.imshow(‘窗口標題’,image),如果前面沒有cv2.namedWindow,就自動先執行一個cv2.namedWindow()

參考博文:opencv在坐標中顯示圖片1.https://blog.csdn.net/qq_38973721/article/details/105568684?ops_request_misc=&request_id=&biz_id=102&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-2
cv2.nameWindow()函數的使用2.https://blog.csdn.net/xykenny/article/details/90513480
點擊圖片顯示點和坐標 3.https://blog.csdn.net/huzhenwei/article/details/82900715?ops_request_misc=&request_id=&biz_id=102&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0

opencv+python 添加文字 cv2.putText
4.https://www.cnblogs.com/mrfri/p/8557521.html

還是學到了不少東西,嘻嘻。

總結

以上是生活随笔為你收集整理的python截取图片的ROI+OpenCV 在坐标中显示图片+鼠标点击图片显示点坐标的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。