0
python-opencv 인터페이스를 사용하여 R200 realsense 카메라의 컬러 이미지를 보는 데 문제가 있습니다. 이 스크립트를 실행하면 창이 비어 있습니다. out'cv2.namedWindow ("이미지 창", 1)을 주석 처리하면 첫 번째 이미지가 표시됩니다.opencv imshow를 사용하여 컬러 이미지를 볼 수 없습니다
import roslib
import sys
import rospy
import cv2
from std_msgs.msg import String
from geometry_msgs.msg import Twist
from sensor_msgs.msg import Image
from rospy.numpy_msg import numpy_msg
#from rospy_tutorials.msg import Floats
from cv_bridge import CvBridge, CvBridgeError
import numpy as np
import math;
import cv2;
#import matplotlib.pyplot as plt;
import sys;
#import caffe;
import socket;
#from sklearn import datasets;
import subprocess;
import message_filters
from rospy.numpy_msg import numpy_msg
import time
#####################
import os.path
class image_converter:
# Initializing variables, publishers and subscribers
def __init__(self):
print 'show window'
cv2.namedWindow("Image window", 1)
self.bridge = CvBridge()
self.image_sub = rospy.Subscriber("/camera/rgb/image_color", Image, self.callback)
# The main callback that processes the color and depth data.
def callback(self,color):
start = time.time()
# acquiring color and depth data (from ROS-python tutorial)
try:
frame = self.bridge.imgmsg_to_cv2(color, "bgr8")
except CvBridgeError, e:
print e
frame = np.array(frame, dtype=np.uint8)
cv2.imshow("Image window", frame)
print 'test'
cv2.waitKey(0)
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)
이러한 매크로는 일반적으로 열거 형에 바인딩됩니다. cv2.WINDOW_AUTOSIZE를 출력하면 1을 반환합니다. – NAmorim
확인한 바대로, 확인을 제안했습니다. 설명해 주셔서 감사합니다! – valleymanbs
괜찮 았습니다. cv2.waitKey (30) 대신 cv2.waitKey (0) –