UPDATE Vision 新增料袋数量检测

This commit is contained in:
HJW
2024-10-11 14:24:20 +08:00
parent bff2ad47a1
commit 853a44bf84
6 changed files with 226 additions and 3 deletions

63
Vision/tool/CameraHIK.py Normal file
View File

@ -0,0 +1,63 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
'''
# @Time : 2024/10/11 10:43
# @Author : hjw
# @File : CameraHIK.py
'''
import cv2
import socket
def portisopen(ip, port):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(1)
state = sock.connect_ex((ip, port))
if 0 == state:
# print("port is open")
return True
else:
# print("port is closed")
return False
class camera_HIK():
def __init__(self, ip, port, name, pw):
# "rtsp://admin:zlzk.123@192.168.1.64:554"
self.camera_url = "rtsp://" + name + ":" + pw + "@" + ip + ":" + str(port)
ret = portisopen(ip, port)
self.ip = ip
self.port = port
self.init_success = False
if ret:
self.cap = cv2.VideoCapture(self.camera_url)
self.init_sucess = True
else:
print('海康摄像头网络错误请检测IP')
def get_img(self):
ret = False
frame = None
if self.init_success==True:
if portisopen(self.ip, self.port):
ret, frame = self.cap.read()
else:
print('海康摄像头网络断开')
else:
if portisopen(self.ip, self.port):
self.reconnect_camera()
ret, frame = self.cap.read()
else:
print('海康摄像头网络断开')
return ret, frame
def reconnect_camera(self):
if self.init_success == True:
self.cap.release()
self.cap = cv2.VideoCapture(self.camera_url)
print("海康摄像头重连")
def release_camera(self):
self.cap.release()