使用pytorch在一幅或两幅图像中利用鼠标单击方式采集样本,并输出实现代码(1)若两区域特征相同,则在两区域的中心分别单击鼠标,然后将以鼠标为中心的两区域保存并设置为相同类别(可保存多个尺寸)。 (2)以同样的方式保存不同的区域并设置为不同类别。
时间: 2024-02-06 11:09:54 浏览: 39
这个问题需要使用图形用户界面(GUI)来实现,我建议使用Python的Tkinter模块来创建GUI并使用OpenCV库来处理图像。下面是一个简单的示例代码,它可以让您单击图像并将其保存到磁盘上。
```python
import tkinter as tk
import cv2
class ImageLabel(tk.Label):
def __init__(self, master=None):
tk.Label.__init__(self, master)
self.image = None
self.bind('<Button-1>', self.on_left_click)
self.bind('<Button-3>', self.on_right_click)
def on_left_click(self, event):
if self.image is not None:
x, y = event.x, event.y
roi = self.image[y-50:y+50, x-50:x+50]
cv2.imwrite('sample1.jpg', roi)
def on_right_click(self, event):
if self.image is not None:
x, y = event.x, event.y
roi = self.image[y-50:y+50, x-50:x+50]
cv2.imwrite('sample2.jpg', roi)
def set_image(self, image):
self.image = image
height, width, channels = image.shape
self.config(width=width, height=height)
photo = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
photo = Image.fromarray(photo)
self.photo = ImageTk.PhotoImage(image=photo)
self.config(image=self.photo)
root = tk.Tk()
# Load images
image1 = cv2.imread('image1.jpg')
image2 = cv2.imread('image2.jpg')
# Create image labels
label1 = ImageLabel(root)
label1.set_image(image1)
label1.pack(side='left')
label2 = ImageLabel(root)
label2.set_image(image2)
label2.pack(side='right')
root.mainloop()
```
这段代码创建了两个图像标签(label),每个标签都绑定了鼠标单击事件。当您单击左键时,它将保存以鼠标为中心的50x50像素区域,并将其命名为“sample1.jpg”。当您单击右键时,它将保存另一个50x50区域,并将其命名为“sample2.jpg”。
您可以将此代码作为起点,根据您的需求进行修改。例如,您可以添加更多的标签和更多的鼠标事件来实现更复杂的样本采集方案。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)