图像生成与图像处理_matlab中colorbar是什么意思

图像生成与图像处理_matlab中colorbar是什么意思1colorBar介绍colorBar主要是指一些图像处理中使用的常见纯色或者渐变色条。colorBar用途可作为测试样图来验证某些图像算法的效果,从而避免图像内容或者硬件对图像的干扰,使图像算法

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1 colorBar介绍

    colorBar主要是指一些图像处理中使用的常见纯色或者渐变色条。colorBar用途可作为测试样图来验证某些图像算法的效果,从而避免图像内容或者硬件对图像的干扰,使图像算法能够达到预期效果。colorBar常见类型如下:

    (1) 纯色图像

    图像生成与图像处理_matlab中colorbar是什么意思

    (2) 水平4条彩色条纹

    图像生成与图像处理_matlab中colorbar是什么意思

    (3) 垂直4条彩色条纹

    图像生成与图像处理_matlab中colorbar是什么意思

    (4) 垂直8条彩色条纹

    图像生成与图像处理_matlab中colorbar是什么意思

    (5) 纯色背景上纯色目标

    图像生成与图像处理_matlab中colorbar是什么意思

2 colorBar生成实现源码(以渐变条为例)

 1 /* 
 2 文件:  ColorBar.h 
 3 功能:  绘制颜色渐变的条形Bar 
 4 */  
 5 enum {GRAY=0,RED=1,GREEN=2,BLUE=3};  
 6 class CColorBar    
 7 {  
 8 public:  
 9     CColorBar();  
10     virtual ~CColorBar();  
11     void SetColorMode(int mode);  
12     void DrawColorBar(CRect &client,CClientDC &dc);  
13 private:  
14     UINT m_mode;  
15 };
 1 /* 
 2 文件:  ColorBar.cpp 
 3 功能:  绘制颜色渐变的条形Bar 
 4 */  
 5 CColorBar::CColorBar()  
 6 {  
 7     m_mode=GRAY;  
 8 }  
 9   
10 CColorBar::~CColorBar()  
11 {  
12   
13 }  
14   
15 void CColorBar::SetColorMode(int mode)  
16 {  
17     m_mode=mode;  
18 }  
19   
20 void CColorBar::DrawColorBar(CRect &client,CClientDC &dc)  
21 {  
22     CRect    m_tab;  
23     int      N=255;  
24     COLORREF rgb;  
25     double   dh=(double) client.Height()/N;  
26     CBrush *pBrush=NULL;      
27     dc.Rectangle(client);  
28     for(int i=0;i<N;i++)  
29     {  
30         m_tab.left =client.left;  
31         m_tab.right =client.right;  
32         m_tab.bottom =client.bottom -i*dh;  
33         m_tab.top =m_tab.bottom -dh;  
34           
35         switch(m_mode)  
36         {  
37         case GRAY:  
38             rgb=RGB(i,i,i);  
39             break;  
40         case RED:  
41             rgb=RGB(i,0,0,);  
42             break;  
43         case GREEN:  
44             rgb=RGB(0,i,0);  
45             break;  
46         case BLUE:  
47             rgb=RGB(0,0,i);  
48             break;  
49         default:  
50             break;  
51         }  
52           
53         pBrush=new CBrush(rgb);  
54         dc.FillRect(m_tab,pBrush);  
55   
56     }  
57   
58     delete pBrush;  
59     pBrush=NULL;  
60 }
1 CColorBar bar;  
2 CClientDC dc(this);  
3 CRect     m_bar(100,10,150,300);  
4 bar.SetColorMode(RED);  
5 bar.DrawColorBar(m_bar,dc);

       运行后输出如下:

       图像生成与图像处理_matlab中colorbar是什么意思

 

  

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/167603.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【Redis源码分析】一个对SDSHDR5是否使用的疑问

    【Redis源码分析】一个对SDSHDR5是否使用的疑问

    2021年6月18日
    108
  • C语言游戏 双缓存解决闪屏问题 详细总结[通俗易懂]

    最近,应学校课程要求,要完成一个C语言课程设计。可以是写一个小游戏,或是写管理系统等。所以,准备做一个改版贪吃蛇:消灭小虫虫(瞎起的名字:D)。之前学过Java,所以学C语言也就比较顺利。而在刚学完C语言刚着手准备做C语言的小游戏时,却发现了一个问题——闪屏。(我在网上查找了很多关于双缓存,有关的解答很少,更少能够让一个完全不了解的小白一个明白的解释。下面我想和大家分享我使用…

    2022年4月10日
    96
  • emwin显示中文的方法_emwin中文手册

    emwin显示中文的方法_emwin中文手册emwin显示中文

    2022年10月9日
    0
  • ReleaseMutex用法

    ReleaseMutex用法Mutex中提供了WiteOne,ReleaseMutex两个实例方法~WiteOne的作用是”阻塞当前线程,提供对该线程的原子操作”也就是说当一个线程遇到WiteOne的时候,如果在WiteOne里面没有线程在操作,则此线程进去操作而里面有线程的时候,所有到此的线程均需要排队等候里面的线程执行完毕~而控制这样操作的结束标记就是使用ReleaseMutex方法!就好比WiteO…

    2022年6月26日
    49
  • IDEA中,java项目无法使用Test测试的解决办法

    IDEA中,java项目无法使用Test测试的解决办法一、IDEA使用junit的@Test注解报错1、File–ProjectStructure–Modules2、点击加号3、选择JARsordirectories…4、在idea的安装路径下的lib文件夹,选中两个jar包5、然后勾选上,点击Apply–ok二、使用junit无法在控制台进行输入1、Help–EditCustomVMOptions..2、添加代码-Deditable.java….

    2022年10月17日
    0
  • XGBoost:在Python中使用XGBoost

    XGBoost:在Python中使用XGBoost在Python中使用XGBoost下面将介绍XGBoost的Python模块,内容如下:*编译及导入Python模块*数据接口*参数设置*训练模型l*提前终止程序*预测AwalkthroughpythonexampleforUCIMushroomdatasetisprovided.安装首先安装XGBoost的C++版本,然后进入源文件的根目录下

    2022年5月11日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号