图像特征与目标检测1-HOG 迷南。 2023-01-10 15:55 126阅读 0赞 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dpbmdneW4_size_16_color_FFFFFF_t_70][] HOG实现过程: 1灰度化(将图像看做一个x,y,z(灰度)的三维图像) 2采用Gamma校正法对输入图像进行颜色空间的标准化(归一化) 3计算图像每个像素的梯度(包括大小和方向) 4将图像划分为cells 5统计每个cell的梯度直方图(不同梯度的个数),得到cell的描述子 6将每几个cell组成一个block,得到block的描述子 7将图像image内的所有block的HOG特征descriptor串联起来就可以得到HOG特征,该特征向量就是用来目标检测或分类的特征。 import cv2 import numpy as np #判断矩形i是否完全包含在矩形O中 def is_inside(o,i): ox,oy,ow,oh = o ix,iy,iw,ih = i return ox > ix and oy > iy and ox+ow < ix + iw and oy +oh < iy + ih #对人体绘制颜色框 def draw_person(image,person): x,y,w,h = person cv2.rectangle(image,(x,y),(x+w,y+h),(0,255,255),2) img = cv2.imread("test5.jpg") hog = cv2.HOGDescriptor() hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector()) found,w = hog.detectMultiScale(img,0.1,(1,1)) print(found) print(w) #丢弃某些完全被其他矩形包含在内的矩形 found_filtered=[] for ri,r in enumerate(found): for qi,q in enumerate(found): if ri != qi and is_inside(r,q): break else: found_filtered.append(r) print(found_filtered) #对不包含在内的有效矩形进行颜色框定 for person in found_filtered: draw_person(img,person) cv2.imshow("people detection",img) cv2.waitKey(0) cv2.destroyAllWindows() 结果: ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dpbmdneW4_size_16_color_FFFFFF_t_70 1][] ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dpbmdneW4_size_16_color_FFFFFF_t_70 2][] 原图来源:百度图库 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dpbmdneW4_size_16_color_FFFFFF_t_70 3][] 步长为(1,1)时候: ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dpbmdneW4_size_16_color_FFFFFF_t_70 4][] 代码中由 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dpbmdneW4_size_16_color_FFFFFF_t_70 5][] (1,1)->(2,2) ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dpbmdneW4_size_16_color_FFFFFF_t_70 6][] 改成(3,3)结果如下: ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dpbmdneW4_size_16_color_FFFFFF_t_70 7][] 改成(7,7),据说。。最多检测5人。 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dpbmdneW4_size_16_color_FFFFFF_t_70 8][] [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dpbmdneW4_size_16_color_FFFFFF_t_70]: /images/20221119/1892cbc6d46c49af9d469a8f969cdeb0.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dpbmdneW4_size_16_color_FFFFFF_t_70 1]: https://img-blog.csdnimg.cn/20210125150048790.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dpbmdneW4=,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dpbmdneW4_size_16_color_FFFFFF_t_70 2]: https://img-blog.csdnimg.cn/20210125145852137.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dpbmdneW4=,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dpbmdneW4_size_16_color_FFFFFF_t_70 3]: https://img-blog.csdnimg.cn/20210125150614778.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dpbmdneW4=,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dpbmdneW4_size_16_color_FFFFFF_t_70 4]: https://img-blog.csdnimg.cn/20210125150821403.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dpbmdneW4=,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dpbmdneW4_size_16_color_FFFFFF_t_70 5]: https://img-blog.csdnimg.cn/2021012515092715.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dpbmdneW4=,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dpbmdneW4_size_16_color_FFFFFF_t_70 6]: https://img-blog.csdnimg.cn/20210125151435718.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dpbmdneW4=,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dpbmdneW4_size_16_color_FFFFFF_t_70 7]: https://img-blog.csdnimg.cn/20210125151306100.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dpbmdneW4=,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dpbmdneW4_size_16_color_FFFFFF_t_70 8]: https://img-blog.csdnimg.cn/20210125151702604.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dpbmdneW4=,size_16,color_FFFFFF,t_70
还没有评论,来说两句吧...