来自 python 上的热成像摄像机(网络摄像机)的流,连接错误
stream from thermal camera (ip camera) on python , connection error
我想从热像仪流式传输,通常它会将其帧导出为灰度帧
热像仪是 IP 摄像机,我尝试了不同的代码和包装但没有输出。
当我稍微更改代码以从 USB 摄像头查看时,它正常工作,所以请提供任何帮助。
这是我试过的代码:
import sys
sys.path.append('C:\Python27\Lib\site-packages')
import Tkinter as tk
import cv2
from PIL import Image, ImageTk
i=0
window = tk.Tk()
window.title('thermal image')
var = tk.IntVar()
width, height = 800, 600
cap = cv2.VideoCapture(0)
cap.open("http://169.254.110.119/")
left_label = tk.Label(window)
left_label.pack(side="left")
right_label = tk.Label(window)
right_label.pack(side="right")
def show_frame():
_, frame = cap.read()
print frame
if frame != None:
frame = cv2.flip(frame, 1)
img = Image.fromarray(frame)
imgtk = ImageTk.PhotoImage(image=img)
left_label.imgtk = imgtk
left_label.configure(image=imgtk)
left_label.after(10, show_frame)
show_frame()
window.mainloop()
我认为代码中没有抓取来自网站的图片,对我有用的是
img_requested = requests.get(url)
img_arr = np.array(bytearray(img_requested.content), dtype=np.uint8)
frame = cv2.imdecode(img_arr, -1)
在那里你会得到框架(颜色picures/video)。请记住,你需要将请求和 numpy 导入为 np。
重要的是,如果您使用 IP 网络摄像头,请不要忘记写“/shot.jpg”
在 url 的末尾,像这样:'http://190.160.0.0:8080/shot.jpg',以便它有效地抓取图像。
我想从热像仪流式传输,通常它会将其帧导出为灰度帧 热像仪是 IP 摄像机,我尝试了不同的代码和包装但没有输出。 当我稍微更改代码以从 USB 摄像头查看时,它正常工作,所以请提供任何帮助。 这是我试过的代码:
import sys
sys.path.append('C:\Python27\Lib\site-packages')
import Tkinter as tk
import cv2
from PIL import Image, ImageTk
i=0
window = tk.Tk()
window.title('thermal image')
var = tk.IntVar()
width, height = 800, 600
cap = cv2.VideoCapture(0)
cap.open("http://169.254.110.119/")
left_label = tk.Label(window)
left_label.pack(side="left")
right_label = tk.Label(window)
right_label.pack(side="right")
def show_frame():
_, frame = cap.read()
print frame
if frame != None:
frame = cv2.flip(frame, 1)
img = Image.fromarray(frame)
imgtk = ImageTk.PhotoImage(image=img)
left_label.imgtk = imgtk
left_label.configure(image=imgtk)
left_label.after(10, show_frame)
show_frame()
window.mainloop()
我认为代码中没有抓取来自网站的图片,对我有用的是
img_requested = requests.get(url)
img_arr = np.array(bytearray(img_requested.content), dtype=np.uint8)
frame = cv2.imdecode(img_arr, -1)
在那里你会得到框架(颜色picures/video)。请记住,你需要将请求和 numpy 导入为 np。
重要的是,如果您使用 IP 网络摄像头,请不要忘记写“/shot.jpg” 在 url 的末尾,像这样:'http://190.160.0.0:8080/shot.jpg',以便它有效地抓取图像。