判断颜色信息-RGB2HSV
前言
项目车号识别过程中,车体有三种颜色黑车黑底白字、红车红底白字、绿车黄底绿字,可以通过判断车体的颜色信息,从而判断二值化是否需要反转,主要是基于rgb2hsv函数进行不同颜色的阈值判断。
MATLAB代码如下:
% /************************************************************************ % * Copyright(c) 2017 ZRJ % * All rights reserved. % * % * File: isGreen.m % * Brief: 车号区域颜色信息判断算法 % * Version: 1.0 % * Author: ZRJ % * Email: happyamyhope@163.com % * Date: 2017/03/28 % * Reference: % * History: % * 20170328:得到ROI的颜色信息; % % ************************************************************************/ function [ ] = isGreen( ) %程序功能:车号区域颜色信息判断算法; %输入input: % roi -- roi color image; %输出output: % flip -- flip flag; roi = 'E:\carriage_recognition\train_identification\ROI1095\'; roi_path = [roi,'ROI原图\']; roi_format = '*.png' ; roi_list = dir ( strcat (roi_path, roi_format)); roi_num = length (roi_list); %获取图像总数量 for num = 1 : roi_num %逐一读取图像 % num close all % HSV颜色信息提取 % roi_name = roi_list(num).name;% 图像名 % roi_image = imread(strcat(roi_path, roi_name));%读取图像 roi_name = [ int2str (num), '_number_ROI.png' ]; roi_image = imread ([roi_path, roi_name]); %RGB2HSV of ROI hsv_f = rgb2hsv (roi_image); H = hsv_f(:,:,1)*180; S = hsv_f(:,:,2)*255; V = hsv_f(:,:,3)*255; [y,x,z]= size (roi_image); green = 0; yellow = 0; for i =1:y for j =1:x if (((H( i , j )>=40)&&(H( i , j )<=75)) && (S( i , j )>=60)&&(S( i , j )<=255) && (V( i , j )>=55)&&(V( i , j )<=255)) green = green + 1; %绿像素点统计 elseif (((H( i , j )>=27)&&(H( i , j ,1)<=33)) &&(S( i , j )>=60)&&(S( i , j )<=255) && (V( i , j )>=80)&&(V( i , j )<=255)) yellow = yellow + 1; %黄像素点统计 end end end ss = x * y; ratio_g = green *100/ ss; ratio = (green + yellow) *100/ ss; flip = 0; if ( ratio > 0.04 && ratio_g > 0.0004 ) flip = 1; end if ( flip ) bw_name = [roi_name(1: end -4), '_flip' ]; imwrite (roi_image, [roi, 'green\', bw_name,' .png']); end end % end for end % end function |
问题总结:
1.注意不同颜色H/S/V的范围,可以根据实际情况设置;
2.matlab自带的rgb2hsv函数的输出范围是[0 1];
3.判断是否反转的阈值需要根据具体的情况进行设定;
完
各美其美,美美与共,不和他人作比较,不对他人有期待,不批判他人,不钻牛角尖。
心正意诚,做自己该做的事情,做自己喜欢做的事情,安静做一枚有思想的技术媛。
版权声明,转载请注明出处:https://www.cnblogs.com/happyamyhope/
心正意诚,做自己该做的事情,做自己喜欢做的事情,安静做一枚有思想的技术媛。
版权声明,转载请注明出处:https://www.cnblogs.com/happyamyhope/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】