请教:简单图像识别加旋转方向判断

mangoalx 2019-07-10 05:29:25
我的应用环境比较简单:显示器测试。所以我需要一个比较简单的图像显示在显示器上,然后摄像头拍摄用来识别 1 是否图像有显示 2 图像是否有旋转 90, 180, 270 度
请指点什么样的图像适用以及算法程序(最好python)
谢谢
...全文
611 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
现在还是人类 2019-07-15
  • 打赏
  • 举报
回复
特征点是正确思路。 首先需要设定好显示器的区域位置,然后根据区域矩形分析显示器的屏幕内容 然后拍摄无图情况做特征码分析,比如把显示区域的图像聚合分块成9*9的色块,然后记录9*9的色块颜色值 下次要识别是否为无图情况时,可以再次计算拍摄图形为9*9的色块,然后对比每一个色块,如果颜色的RGB范围误差不超过你指定的百分比,就视为无图情况,而有图、旋转等情况也可以做类似处理。 至于具体运算,简单点就是把拍摄到的矩形区域数据取出来,然后按照宽高初3,这样就得到每个小块的宽高,然后将每个小块的每个像素的RGB全部加起来然后除以像素个数,就得到平均的色彩数,如: 640*480的采集图像里 屏幕区域在x,y,x2,y2里 40,40,340,220 那么显示屏有效判断区域就在 左边40,顶边40,宽度340-40=300,高度220-40=180 那么特征区块的大小宽度为300/3=100,高度为180/3=60 int64 pic_w = 640; int64 pic_h = 480; int64 color_bit = 24; int64 color_size = color_bit/8; int64 picwbyte = pic_w*color_size; int64 color_all_r = 0; int64 color_all_g = 0; int64 color_all_b = 0; // gdi数据行对齐 if(picwbyte%2){ picwbyte++; } for(y=40;y<(40+60);y++){ for(x=40;x<(40+100);x++){ color_b = data[((y*picwbyte)+(x*color_size))]; color_g = data[((y*picwbyte)+(x*color_size)+1)]; color_r = data[((y*picwbyte)+(x*color_size)+2)]; color_all_r += color_r; color_all_g += color_g; color_all_b += color_b; } } color_r = color_all_r / pixcount; color_g = color_all_g / pixcount; color_b= color_all_b / pixcount; feature[1].r =((color_r<=255)?color_r:255); feature[1].g =((color_g<=255)?color_g:255); feature[1].g =((color_b<=255)?color_b:255); 第一个块区的特征 RGB 值就是 feature[1].r,feature[1].g,feature[1].g 当要对比时,把下次运算的 RGB 值和这个特征码做对比,然后误差不超过你指定的范围便可认为是符合的 如: bool is_match = false; double loe = 0.05; // 误差范围在 5% int loev = 255/100*loe; // 实际误差值 int match_count = 0; // 判断RGB是否符合误差范围 if(color_r<=(feature[1].r+loev)) if(color_r>=(feature[1].r-loev)) if(color_g<=(feature[1].g+loev)) if(color_g>=(feature[1].g-loev)) if(color_b<=(feature[1].b+loev)) if(color_b>=(feature[1].b-loev)) is_match = true; if(is_match){ // 符合误差范围将相似数量总数+1,最后做完所有区块对比后判断相似数量总数为9那么就全部判断为相同了 match_count++; }
zgl7903 2019-07-10
  • 打赏
  • 举报
回复
仅个人思路, 摄像头把需要的图片按各个需要角度在显示器上显示并拍好作为模板, 然后实际操作的时候和模板去比对
绿色盒子 2019-07-10
  • 打赏
  • 举报
回复
识别几个特征点喽
sevancheng 2019-07-10
  • 打赏
  • 举报
回复
等边三角形,检测轮廓的3个顶点,可知旋转角

19,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧