Python 使用Tkinter创建按钮

Python 使用Tkinter创建按钮,python,tkinter,Python,Tkinter,我已经附加了我正在修改的部分代码。我想使用Tkinter创建一个按钮,这样,基于使用按钮(a或B)的选项I sect,我想调整行cv_image=image[:,:,:]中的图像大小 最好的方法是什么。提前谢谢 class image_converter: def __init__(self): print 'show window' cv2.namedWindow("Image window", 1) print 'start bridge and subscri

我已经附加了我正在修改的部分代码。我想使用Tkinter创建一个按钮,这样,基于使用按钮(a或B)的选项I sect,我想调整行
cv_image=image[:,:,:]中的图像大小

最好的方法是什么。提前谢谢

class image_converter:

  def __init__(self):
    print 'show window'
    cv2.namedWindow("Image window", 1)
    print 'start bridge and subscribe'
    self.bridge = CvBridge()
    print Image
    self.image_sub = rospy.Subscriber("/MDS_CamServer/camera/image",Image,self.callback)
    self.save = False;
    self.count=0;
    self.X=np.array([[]]);
    self.y=np.array([[]]);
    self.X_new=np.array([[]]);
    self.y_new=np.array([[]]);

  def callback(self,data):
    try:
      image = self.bridge.imgmsg_to_cv2(data, "bgr8")
    except CvBridgeError, e:
      print e

    cv_image = image[:,:,:];


def main(args):
  ic = image_converter()
  rospy.init_node('image_converter', anonymous=True)
  try:
    rospy.spin()
  except KeyboardInterrupt:
    print "Shutting down"
  cv2.destroyAllWindows()

if __name__ == '__main__':
    main(sys.argv)

您可以尝试此代码段

self.v1 = IntVar()
Label(master, text="""resize the image in the line with """,justify = LEFT, padx = 20).pack()
Radiobutton(master, text="A",padx = 20, variable=self.v1, value=1).pack(anchor=W)
Radiobutton(master, text="B", padx = 20, variable=self.v1, value=2).pack(anchor=W)
if self.v2.get() == 1:
   Imgwidth = 100 #specify it as per A
else:
   Imgwidth = 200 #specify it as per B
Imgheight = 100#just specify or use original 
image = Image.open(Image_Location)
image = image.resize((Imgheight, Imgwidth), Image.ANTIALIAS) #The (250, 250) is (height, width)
self.pw.pic = ImageTk.PhotoImage(image)

您应该创建一个单选按钮来选择用户想要选择a或B的选项,然后在选择时将用户重定向到特定宽度

您的代码不会显示“按钮a”或“按钮B”。您的代码包含一个名为“rospy”的包-这是否是复制问题所必需的?“调整大小”是什么意思?将图像放大两倍?一半大?一些更大或更小的随机因素?我已经包含了代码片段,以提供关于代码结构的想法。因此,请忽略不相关的行(如rospy)。我想创建按钮A或B(它不在代码中,这就是我需要帮助的地方)。根据A或B的选择,我希望使用cv_image=image[:,:,:]或image[10:120,30:130,:](基本上是裁剪图像。如果代码行不相关,请不要包含它们。请按书面形式阅读,这将不起作用。在用户有机会单击其中一行之前,您已获取radiobutton的值。