问题描述
我正在尝试创建一个查看器,在其中可以使用鼠标输入获取图像的感兴趣区域并返回x,y轴上的点。我已经尝试过使用selectRoi方法,但是我无法在图像查看器中使用它,在其他测试中我可以使用此方法,但是它在另一个窗口中创建了裁剪的图像,我希望将其标记为在查看器中的图像中,并以一些变量返回x,y轴的点。我是编程新手,有人对我如何在Pegar_area_interesse方法中执行此操作有任何建议吗? 我想做一些类似于附件的图片。 我将代码留在下面。
from tkinter import *
from PIL import ImageTk,Image
from os import listdir
from os.path import isfile,join
import cv2
root=Tk()
root.title('viewer das image')
# read images from the directory
root.iconbitmap('path of image')
# read all filenames from the directory
onlyfiles = [f for f in listdir('path of image') if isfile(join('path of image',f))]
# puts all images in the list
image_list=[]
for nome in onlyfiles:
image_list.append(ImageTk.PhotoImage(Image.open('path of image'+nome)))
my_label=Label(image=image_list[1])
my_label.grid(row=0,column=0,columnspan=3)
def forward(image_number):
global my_label
global button_forward
global button_back
global button_numeroImagem
global button_Pegar_area_interesse
my_label.grid_forget()
my_label = Label(image=image_list[image_number-1])
button_forward =Button(root,text='>>',command=lambda : forward(image_number+1))
button_back = Button(root,text='<<',command=lambda : back(image_number-1))
button_numeroImagem = Button(root,text=str(image_number)+' de ' + str(len(image_list)),state=disABLED)
if image_number == int(len(image_list)):
button_forward = Button(root,state=disABLED)
my_label.grid(row=0,columnspan=3)
button_back.grid(row=1,column=0)
button_forward.grid(row=1,column=2)
button_numeroImagem.grid(row=1,column=1)
def back(image_number):
global my_label
global button_forward
global button_back
global button_numeroImagem
global button_Pegar_area_interesse
my_label.grid_forget()
my_label = Label(image=image_list[image_number - 1])
button_forward = Button(root,command=lambda: forward(image_number + 1))
button_back = Button(root,command=lambda: back(image_number - 1))
button_numeroImagem = Button(root,text=str(image_number) + ' de ' + str(len(image_list)),state=disABLED)
if image_number == 1:
button_back = Button(root,column=1)
def Pegar_area_interesse(image_number):
pass
button_back =Button(root,command=lambda: back(),state=disABLED)
button_exit =Button(root,text='exit program',command=root.quit)
button_forward =Button(root,command=lambda: forward(2))
button_numeroImagem =Button(root,text='1 de ' + str(len(image_list)),state=disABLED)
button_Pegar_area_interesse=Button(root,text='Select ROI')
button_back.grid(row=1,column=0)
button_forward.grid(row=1,column=2)
button_numeroImagem.grid(row=1,column=1)
button_exit.grid(row=2,column=1)
button_Pegar_area_interesse.grid(row=3,column=0)
root.mainloop()
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)