有没有成熟的Linux(比如Ubuntu,Cent OS)作为控制的家庭摄像头控制系统方案

爸妈要用又要能折腾,那么只有买个群晖或者自己动手黑个群晖。基于 Linux,系统简单易用,支持 ownCloud 和 Samba。
■网友
树莓派 + mjpeg-streamer。都不需要开发,直接就可以远程了。更新一下。最近发现安卓有个开源项目spydroid做监控更方便。找个旧手机装个spydroid就ok了。可以选择码率。用wifi就行~pc端用vlc就可以播放~
■网友
如果题主会手机编程的话,建议你用手机实现。现在几乎每个人家里都有一台废旧手机。可以选择一台废旧的手机作为监控端,另一台父母用的手机作为查看端。手机对父母来说操作也比较简单。 而且手机比较灵活可以方便地部署在家里的各个角落,还省去了布线的麻烦。 好吧,我在学校正在做一个类似的项目=_=题主还说自己想折腾服务器,那必须是树莓派啊。树莓派加一个无线网卡就能当路由器了。树莓派的软件生态公认是所有开发板里最好的。各种服务器软件源里都有现成可用的。树莓派的官方操作体统是基于debian的,还有很多第三方也出了适配树莓派的操作系统,openwrt,ubuntu,centos等等。据说win10也要适配树莓派呢。最后,祝折腾愉快!
■网友
这个问题怎么解决,这个文件是训练图片识别 然后再调用摄像头
ValueError: Expected 2D array, got 1D array instead:
array=.
Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.
完整代码
from __future__ import print_function
from rgbhistogram import RGBHistogram
from sklearn.preprocessing import LabelEncoder
from sklearn import svm
###from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_report
from sklearn.externals import joblib
import numpy as np
import argparse
import glob
import cv2

ap = argparse.ArgumentParser()
ap.add_argument("-i", "--images", required = True,
help = "path to the image dataset")
ap.add_argument("-m", "--masks", required = True,
help = "path to the image masks")
args = vars(ap.parse_args())
print(args)

imagePaths = sorted(glob.glob(args + "/*.jpg"))
maskPaths = sorted(glob.glob(args + "/*.jpg"))
data = https://www.zhihu.com/api/v4/questions/29608481/
target =

#print(imagePaths)

desc = RGBHistogram()

for (imagePath, maskPath) in zip(imagePaths, maskPaths):
image = cv2.imread(imagePath)
if image.ndim==2:
image = cv2.cvtColor(image, cv2.COLOR_GRAY2BGR)
features = desc.describe(image)
data.append(features)
target.append(\u0026#39;A\u0026#39;)
print(imagePath)

mask = cv2.imread(maskPath)
if mask.ndim==2:
mask = cv2.cvtColor(mask, cv2.COLOR_GRAY2BGR)
features = desc.describe(mask)
data.append(features)
target.append(\u0026#39;B\u0026#39;)
print(maskPath)
#print(target)

targetNames = np.unique(target)
le = LabelEncoder()
target = le.fit_transform(target)

(trainData, testData, trainTarget, testTarget) = train_test_split(data, target,test_size = 0.1, random_state = 1)


推荐阅读