前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >图像生成与图像处理_matlab中colorbar是什么意思

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

作者头像
全栈程序员站长
发布2022-09-20 08:26:16
2.2K0
发布2022-09-20 08:26:16
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

1 colorBar介绍

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

(1) 纯色图像

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

(2) 水平4条彩色条纹

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

(3) 垂直4条彩色条纹

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

(4) 垂直8条彩色条纹

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

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

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

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

代码语言:javascript
复制
 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 };
代码语言:javascript
复制
 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 }
代码语言:javascript
复制
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是什么意思
图像生成与图像处理_matlab中colorbar是什么意思

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档