Python獲取圖像中像素點坐標實例代碼
在圖片處理過程中,有時候我們想要確定圖片中某一像素的坐標,可以通過下面方法得到。點擊運行程序,用鼠標點擊我們想要獲取坐標的區(qū)域,即可獲得其坐標。結(jié)束方式是,敲擊鍵盤“q”,回車,即可結(jié)束程序。
# -*- coding: utf-8 -*-
"""
Created on Mon Jan 10 13:58:57 2022
@author: 2540817538(有問題聯(lián)系此QQ)
"""
import cv2
img=cv2.imread('C:/Users/25408/Desktop/p1.jpg')
def on_EVENT_LBUTTONDOWN(event, x, y, flags, param):
if event == cv2.EVENT_LBUTTONDOWN:
xy = "%d,%d" % (x, y)
print(x,y)
cv2.circle(img, (x, y), 2, (0, 0, 255))
cv2.putText(img, xy, (x, y), cv2.FONT_HERSHEY_PLAIN,1.0, (0,0,255))
cv2.imshow("image", img)
cv2.namedWindow("image")
cv2.setMouseCallback("image", on_EVENT_LBUTTONDOWN)
while(1):
cv2.imshow("image", img)
key = cv2.waitKey(5) & 0xFF
if key == ord('q'):
break
cv2.destroyAllWindows()運行示例:


附:python中 鼠標點擊獲取圖片像素點的坐標兩種辦法 區(qū)域像素處理
在圖片中,用鼠標點擊并返回點擊坐標
1. cv2 的辦法
區(qū)域像素可以進行處理,我做了一個鼠標選取兩點,將這塊區(qū)域置零的操作。
import cv2
import numpy as np
img = cv2.imread('C:\\Users\\mimi\\Desktop\\1.jpg')
a =[]
b = []
def on_EVENT_LBUTTONDOWN(event, x, y,flags, param):
? ? if event == cv2.EVENT_LBUTTONDOWN:
? ? ? ? xy = "%d,%d" % (x, y)
? ? ? ? a.append(x)
? ? ? ? b.append(y)
? ? ? ? cv2.circle(img, (x, y), 1, (255, 0, 0), thickness=-1)
? ? ? ? cv2.putText(img, xy, (x, y), cv2.FONT_HERSHEY_PLAIN,
? ? ? ? ? ? ? ? ? ? 1.0, (0, 0, 0), thickness=1)
? ? ? ? cv2.imshow("image", img)
cv2.namedWindow("image")
cv2.setMouseCallback("image", on_EVENT_LBUTTONDOWN)
cv2.imshow("image", img)
cv2.waitKey(0)
print(a[0],b[0])
img[b[0]:b[1],a[0]:a[1],:] = 0 ? #注意是 行,列(y軸的,X軸)
cv2.imshow("image", img)
cv2.waitKey(0)
print (a,b)2.plt的方法
不能對圖像的像素處理,我做了一個區(qū)域置黑的操作沒成功,上一個代碼可以實現(xiàn)
import matplotlib.pyplot as plt
from PIL import Image
im = Image.open("C:\\Users\\mimi\\Desktop\\1.jpg")
plt.imshow(im, cmap = plt.get_cmap("gray"))
pos=plt.ginput(2)
print(pos)
a=[]
b=[]
for i in range(len(pos)):
? ? a.append(pos[i][0])
? ? b.append(pos[i][1])
print (a,b)
im[a[0]:a[1],b[0]:b[1],:]
plt.imshow(im)總結(jié)
到此這篇關(guān)于Python獲取圖像中像素點坐標的文章就介紹到這了,更多相關(guān)Python獲取像素點坐標內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python調(diào)用opencv實現(xiàn)貓臉檢測功能
這篇文章主要介紹了python調(diào)用opencv實現(xiàn)貓臉檢測功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-01-01
8個Python中可復(fù)用函數(shù)的最佳實踐分享
在Python編程中,編寫可復(fù)用的函數(shù)是提高代碼質(zhì)量和開發(fā)效率的關(guān)鍵,本文將介紹8種最佳實踐,并提供豐富的示例代碼,希望可以幫助大家編寫高質(zhì)量的可復(fù)用函數(shù)2023-12-12
Python中如何使用多線程優(yōu)化For循環(huán)
這篇文章主要為大家詳細介紹了在Python中如何使用多線程實現(xiàn)優(yōu)化For循環(huán),文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-01-01
Python使用Kafka處理數(shù)據(jù)的方法詳解
Kafka是一個分布式的流數(shù)據(jù)平臺,它可以快速地處理大量的實時數(shù)據(jù)。在Python中使用Kafka可以幫助我們更好地處理大量的數(shù)據(jù),本文就來和大家詳細講講具體使用方法吧2023-04-04

