python - 将网络摄像机连接到 python/opencv
问题描述
我已经使用 Tensorflow 使用 python/OpenCV 训练了我的 CNN 模型,并使用它成功地测试了图像。我现在正在尝试使用外部 IP 摄像机测试我的程序。我想我可以使用相机的 IP 地址来做到这一点,但我不知道如何在我的代码中修改它。任何帮助都会在这里有用的是我的程序:
from tensorflow.keras.preprocessing.image import ImageDataGenerator
from tensorflow.keras.preprocessing import image
from tensorflow.keras.optimizers import RMSprop
import matplotlib.pyplot as plt
import tensorflow as tf
import cv2
import os
import numpy as np
img = image.load_img("computer vision/train/NOK/1.BMP")
plt.imshow(img)
train = ImageDataGenerator(rescale=1/255)
validation = ImageDataGenerator(rescale=1/255)
train_dataset = train.flow_from_directory("computer vision/train/", target_size = (200,200) , batch_size = 3,class_mode = 'binary')
validation_dataset = train.flow_from_directory("computer vision/valid/", target_size = (200,200) , batch_size = 3,class_mode = 'binary')
model = tf.keras.models.Sequential([tf.keras.layers.Conv2D(16,(3,3), activation = 'relu', input_shape = (200,200,3)),tf.keras.layers.MaxPool2D(2,2),
tf.keras.layers.Conv2D(32,(3,3), activation = 'relu'),tf.keras.layers.MaxPool2D(2,2),
tf.keras.layers.Conv2D(64,(3,3), activation = 'relu'),tf.keras.layers.MaxPool2D(2,2),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(512, activation= 'relu'),
tf.keras.layers.Dense(1,activation = 'sigmoid')
])
model.compile(loss = 'binary_crossentropy',
optimizer = RMSprop(lr=0.001),
metrics = ['accuracy']
)
model_fit = model.fit(train_dataset,
steps_per_epoch=3,
epochs=10,
validation_data=validation_dataset)
dir_path = "C:/Users/Dell/OneDrive/Bureau/Nouveau dossier (2)"
for i in os.listdir(dir_path):
img = image.load_img(dir_path + '//' + i, target_size=(200, 200))
plt.imshow(img)
plt.show()
X = image.img_to_array(img)
X = np.expand_dims(X, axis=0)
images = np.vstack([X])
val = model.predict(images)
if val == 0:
print("NOK")
else:
print("OK")
解决方案
我想你想说,你想用你的网络摄像机流式传输,对吗?
尝试这个
cap = cv2.VideoCamera(1)
cap.open('https://yourip:port')
也许这会奏效!
如果您想将手机用作 Ip 摄像头,有一个名为 Ip Camera 的应用程序
只需安装它并启动您的服务器
你就可以通过这个网址访问它-cap.open('https://yourip:port/video')
推荐阅读
- javascript - 带有窗口单击事件监听器的 React UseEffect 的奇怪行为
- r - 使用 S3 对象进行双重调度,一个泛型与两个泛型
- php - 如何仅使用日期过滤时间戳?
- c# - WPF如何给多个资源字典同一个类?
- javascript - discord bot 命令 whois 无法显示用户的角色
- python - 如何使用雅虎!来自 Julia 的金融市场数据下载器(yfinance)Python 包?
- java - 单击框生成数字时如何使用 ActionListener 事件?
- symfony - 清除 Symfony 项目的缓存是否安全
- javascript - 为什么没有在控制台中打印数组括号?
- angular - 为Angular中的所有HTTP请求添加参数