基于opencv的实时停车地点查找的github
有点感觉这个已经被玩烂了也是这个主题的东东
CNN_model_for_occupancy.ipynb
整体思路 这份代码的整体思路也是opencv进行深度学习的一般思路
- Load Test and Train Files
- Set key parameters(常规内容没什么好细讲了)
- Build model on top of a trained VGG建立相应的模型(这里是vgg)
folder = 'train_data/train'
for sub_folder in os.listdir(folder):
path, dirs, files = next(os.walk(os.path.join(folder,sub_folder)))
files_train += len(files)
os.walk(path)含有例子的深度解析一句话就是:从给定的path走到底
那么为什么要用next?
其实如果你看了超链接里的就会发现os.walk是会分开几次遍历每一个文件夹,next应该就起到了连接不同文件夹的作用,从而得到全部的路径,文件夹和文件
Build model on top of a trained VGG
model = applications.VGG16(weights = "imagenet", include_top=False, input_shape = (img_width, img_height, 3))
【opencv|基于opencv的实时停车地点查找】
include_top=False
一般默认为True,Flase代表没有全连接层x = model.output
x = Flatten()(x)
# x = Dense(512, activation="relu")(x)
# x = Dropout(0.5)(x)
# x = Dense(256, activation="relu")(x)
# x = Dropout(0.5)(x)
predictions = Dense(num_classes, activation="softmax")(x)
Dense其实可以理解成pytorch的linear层
至于ImageDataGenerator 类看这篇应该够用了
identify_parking_spots.ipynb github上这个是失效了所以我还是学习的之前提到的
删掉不需要的地方:
#删掉不需要的地方
def filter_region(image, vertices):
mask = np.zeros_like(image)
if len(mask.shape) == 2:
cv2.fillPoly(mask, vertices, 255)# 多边形填充
show('mask', mask)
return cv2.bitwise_and(image, mask)
需要的地方用的是255填充,不需要的使用
np.zeros_like(image)
,最后取并集bitwise_and(image, mask)
推荐阅读
- opencv|基于opencv的实时睡意检测系统
- 大数据|滴滴开源了哪些有意思的项目()
- 数据库|滴滴技术牛逼吗(看它开源了哪些有意思的项目)
- 分布式|阿里云周晶(我是如何选择技术方向的())
- 职场|你想入门Python,还是得看这篇文章
- python合集|【Pygame实战】再次祭出舍不得分享的学习小技巧,用游戏玩出英文能力(O基础也能轻松get)
- 深度学习|Python21天学习挑战赛Day(11)·爬虫入门知识(应用)
- python|python爬虫利器之scrapy的基本教程
- opencv|OpenCV---阈值与平滑处理 图像阈值