This question has been asked many times here. but I tried all the answers so far but nothing worked. this is the code I am trying to run.
#!/usr/bin/env python3
import rospy
from sensor_msgs import msg
import cv2
from std_msgs.msg import String
from sensor_msgs.msg import Image
from cv_bridge import CvBridge, CvBridgeError
def takes_data_from_camera():
pub = rospy.Publisher('TestOps/Camera', String, queue_size=10)
rate = rospy.Rate(10)
video_bridge = "AKASH"
video_out = cv2.imread('cat.jpg')
gray = cv2.cvtColor(video_out, cv2.COLOR_BGR2GRAY)
video_bridge = bridge.cv2_to_imgmsg(gray, "passthrough")
while not rospy.is_shutdown():
pub.publish(video_bridge)
while (True):
cv2.imshow('frame',video_out)
#ret,frame = video.read()
if cv2.waitKey(1) & 0xFF == ord('a'):
#video.release()
cv2.destroyAllWindows()
break
if __name__ == '__main__':
bridge = CvBridge()
rospy.init_node('Server',anonymous = True)
takes_data_from_camera()
when I run the code I get the following error.
/bin/python3 /home/akash-j/catkin_ws/src/test_package/src/py-server.py
Traceback (most recent call last):
File "/home/akash-j/catkin_ws/src/test_package/src/py-server.py", line 5, in <module>
import cv2
File "/usr/local/lib/python3.8/dist-packages/cv2/__init__.py", line 129, in <module>
bootstrap()
File "/usr/local/lib/python3.8/dist-packages/cv2/__init__.py", line 112, in bootstrap
import cv2
ImportError: libopencv_hdf.so.4.5: cannot open shared object file: No such file or directory
To give more details about the problem I faced a problem while installing OpenCV and I have installed it multiple times. First, my OpenCV on python was working fine. then I tried to install OpenCV for c++. using the link https://learnopencv.com/install-opencv-4-on-ubuntu-16-04/. even though i could not install some of the step2 on the install os libraries i skipped and followed the steps till step 5. then i could not figure the step2 "how to use opencv on c++". so just stopped there and came back to my python file.now i could not even import opencv on python also.