当前位置: 首页 > news >正文

bug修复 修复修复修复

好的,这里是更新后的代码,将所有 inRange 函数的第一个变量替换为 ZoomOutimage

// 绿色分岔路
if (divergerColor == "green" && nextColor == "null")
{cv::Mat frameGreen, frameRed;frame2.copyTo(frameGreen); // 复制原始图像用于绿色二值化处理frame2.copyTo(frameRed);   // 复制原始图像用于红色二值化处理// 二值化绿色inRange(ZoomOutimage, colorgroup.greenMin, colorgroup.greenMax, frameGreen); // 二值化绿色int numberGreen = 0;for (int i = 0; i < frameGreen.rows; i++){for (int j = 0; j < frameGreen.cols; j++){if (frameGreen.at<uchar>(i, j) == 255){numberGreen++;}}}// 二值化红色inRange(ZoomOutimage, colorgroup.redMin, colorgroup.redMax, frameRed); // 二值化红色int numberRed = 0;for (int i = 0; i < frameRed.rows; i++){for (int j = 0; j < frameRed.cols; j++){if (frameRed.at<uchar>(i, j) == 255){numberRed++;}}}// 出现绿色条带if (numberGreen >= 500){mythread.mode = divergeleft;cout << "recognize green divergeleft" << endl;divergerColor = "null";frame2 = frameGreen;return;}// 出现红色条带else if (numberRed >= 500){mythread.mode = divergeleft;cout << "recognize red divergeleft" << endl;divergerColor = "null";frame2 = frameRed;return;}
}
// 红色分岔路
else if (divergerColor == "red" && nextColor == "null")
{cv::Mat frameGreen, frameRed;frame2.copyTo(frameGreen); // 复制原始图像用于绿色二值化处理frame2.copyTo(frameRed);   // 复制原始图像用于红色二值化处理// 二值化绿色inRange(ZoomOutimage, colorgroup.greenMin, colorgroup.greenMax, frameGreen); // 二值化绿色int numberGreen = 0;for (int i = 0; i < frameGreen.rows; i++){for (int j = 0; j < frameGreen.cols; j++){if (frameGreen.at<uchar>(i, j) == 255){numberGreen++;}}}// 二值化红色inRange(ZoomOutimage, colorgroup.redMin, colorgroup.redMax, frameRed); // 二值化红色int numberRed = 0;for (int i = 0; i < frameRed.rows; i++){for (int j = 0; j < frameRed.cols; j++){if (frameRed.at<uchar>(i, j) == 255){numberRed++;}}}// 出现绿色条带if (numberGreen >= 500){mythread.mode = divergeright;cout << "recognize green divergeright" << endl;divergerColor = "null";frame2 = frameGreen;return;}// 出现红色条带else if (numberRed >= 500){mythread.mode = divergeright;cout << "recognize red divergeright" << endl;divergerColor = "null";frame2 = frameRed;return;}
}// 棕色住户识别
else if (residenceColor == "brown" && divergerColor == "null")
{// 复制原始图像用于二值化处理cv::Mat frameBrown, frameViolet;frame2.copyTo(frameBrown);frame2.copyTo(frameViolet);inRange(ZoomOutimage, colorgroup.brownMin, colorgroup.brownMax, frameBrown); // 二值化棕色int numberBrown = 0;for (int i = 0; i < frameBrown.rows; i++){for (int j = 0; j < frameBrown.cols; j++){if (frameBrown.at<uchar>(i, j) == 255){numberBrown++;}}}inRange(ZoomOutimage, colorgroup.violetMin, colorgroup.violetMax, frameViolet); // 二值化紫色int numberViolet = 0;for (int i = 0; i < frameViolet.rows; i++){for (int j = 0; j < frameViolet.cols; j++){if (frameViolet.at<uchar>(i, j) == 255){numberViolet++;}}}// 出现红色或棕色条带if (numberBrown >= 500){mythread.mode = residenceright;cout << "recognize brown" << endl;residenceColor = "null";frame2 = frameBrown;return;}else if (numberViolet >= 500){mythread.mode = residenceright;cout << "recognize Violet" << endl;residenceColor = "null";frame2 = frameViolet;return;}
}
// 紫色住户识别
else if (residenceColor == "violet" && divergerColor == "null")
{// 复制原始图像用于二值化处理cv::Mat frameBrown, frameViolet;frame2.copyTo(frameBrown);frame2.copyTo(frameViolet);inRange(ZoomOutimage, colorgroup.brownMin, colorgroup.brownMax, frameBrown); // 二值化棕色int numberBrown = 0;for (int i = 0; i < frameBrown.rows; i++){for (int j = 0; j < frameBrown.cols; j++){if (frameBrown.at<uchar>(i, j) == 255){numberBrown++;}}}inRange(ZoomOutimage, colorgroup.violetMin, colorgroup.violetMax, frameViolet); // 二值化紫色int numberViolet = 0;for (int i = 0; i < frameViolet.rows; i++){for (int j = 0; j < frameViolet.cols; j++){if (frameViolet.at<uchar>(i, j) == 255){numberViolet++;}}}// 出现红色或棕色条带if (numberBrown >= 500){mythread.mode = residenceleft;cout << "recognize brown" << endl;residenceColor = "null";frame2 = frameBrown;return;}else if (numberViolet >= 500){mythread.mode = residenceleft;cout << "recognize Violet" << endl;residenceColor = "null";frame2 = frameViolet;return;}
}

在上述代码中,所有 inRange 函数的第一个参数都已经替换为 ZoomOutimage。这样确保了所有二值化处理都是在 ZoomOutimage 上进行的。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【Git基本操作】添加文件 | 修改文件 | 及其各场景下.git目录树的变化
  • SpringBoot实战:处理全局异常
  • Apache Spark详解
  • CSS学习碎碎念之卡片展示
  • 《昇思25天学习打卡营第20天|onereal》
  • 计算机视觉之Vision Transformer图像分类
  • 无法解析主机:mirrorlist.centos.org Centos 7
  • 车载视频监控管理方案:无人驾驶出租车安全出行的保障
  • UniVue@v1.4.0版本发布:运行时调试器RuntimeDebuger
  • 交换机和路由器的工作流程
  • 百度智能云将大模型引入网络故障定位的智能运维实践
  • Leetcode3200. 三角形的最大高度
  • T113-i系统启动速度优化方案
  • R语言数据分析案例42-结婚意愿问卷数据统计分析
  • 2024 Q1:AVP时代下全球XR头显市场动态与展望
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • 2017 前端面试准备 - 收藏集 - 掘金
  • idea + plantuml 画流程图
  • in typeof instanceof ===这些运算符有什么作用
  • iOS编译提示和导航提示
  • unity如何实现一个固定宽度的orthagraphic相机
  • 分类模型——Logistics Regression
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 聊聊directory traversal attack
  • 区块链将重新定义世界
  • 如何编写一个可升级的智能合约
  • 三分钟教你同步 Visual Studio Code 设置
  • 使用common-codec进行md5加密
  • 使用Swoole加速Laravel(正式环境中)
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • 一个项目push到多个远程Git仓库
  • 1.Ext JS 建立web开发工程
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • # 利刃出鞘_Tomcat 核心原理解析(八)-- Tomcat 集群
  • #define,static,const,三种常量的区别
  • (2.2w字)前端单元测试之Jest详解篇
  • (C语言)二分查找 超详细
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (动手学习深度学习)第13章 计算机视觉---微调
  • (二) 初入MySQL 【数据库管理】
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (回溯) LeetCode 77. 组合
  • (十七)Flink 容错机制
  • (转)visual stdio 书签功能介绍
  • (转)德国人的记事本
  • .NET 反射的使用
  • .netcore 如何获取系统中所有session_ASP.NET Core如何解决分布式Session一致性问题
  • .net操作Excel出错解决
  • .net反混淆脱壳工具de4dot的使用
  • .NET企业级应用架构设计系列之开场白
  • .NET委托:一个关于C#的睡前故事
  • .Net下使用 Geb.Video.FFMPEG 操作视频文件