你好
我用python创建了一个应用程序,该应用程序选择图像的感兴趣区域(ROI),并对其进行记录和标记。但是我对每张图片的投资回报率有一个限制,有人知道如何对每张图片选择多种投资回报率吗?同样在附加的图像上,如您所见,我有多个窗口,我希望它位于一个具有不同选项的窗口中,这种应用程序使用什么软件包。
这是我在使用opencv2的python中的代码。预先感谢您的帮助
for image in filelist:
img = cv2.imread(image)
fromCenter = False
r = cv2.selectROI(img, fromCenter)
lbl = simpledialog.askstring("Image Label", "Please Enter Label")
result = eTree.SubElement(results, "Image")
path = eTree.SubElement(result, 'Path')
roi = eTree.SubElement(result, 'ROI')
label = eTree.SubElement(result, 'Label')
path.text = str(image)
roi.text = str(r)
label.text = str(lbl)
tree = eTree.ElementTree(results)
i = i + 1
if i == count:
format = [('XML Files', '*.xml'), ('All Files', '*.*')]
save = filedialog.asksaveasfilename(filetype=format, defaultextension='*.xml')
tree.write(save, xml_declaration=True, encoding='utf-8', method="xml")
答案 0 :(得分:1)
至少在问题的第一部分,您是否考虑过尝试使用set
而不是[Order(productId: 1, userId: 2, qty: 25),
Order(productId: 2, userId: 1, qty: 30),
Order(productId: 1, userId: 1, qty: 5),
Order(productId: 3, userId: 1, qty: 20),
Order(productId: 2, userId: 2, qty: 5)]
?当图像窗口打开时,您选择第一个ROI,然后按Enter,然后选择第二个ROI,然后按Enter等。完成后,请按退出键。它返回每个ROI的x,y,w,h。请注意,您将必须相应地更改代码,但是它将允许您选择多个ROI。
输入图像:
示例:
cv2.createROIs()
结果:
答案 1 :(得分:0)
对于自定义 ROI,您可以使用 EasyROI。支持矩形、直线、圆形和多边形。
使用:
pip install EasyROI
from EasyROI import EasyROI
roi_helper = EasyROI()
roi = roi_helper.draw_rectangle(frame, quantity=2)