日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

图像处理之生成ColorBar

發(fā)布時間:2024/1/3 综合教程 54 生活家
生活随笔 收集整理的這篇文章主要介紹了 图像处理之生成ColorBar 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1 colorBar介紹

colorBar主要是指一些圖像處理中使用的常見純色或者漸變色條。colorBar用途可作為測試樣圖來驗證某些圖像算法的效果,從而避免圖像內(nèi)容或者硬件對圖像的干擾,使圖像算法能夠達到預(yù)期效果。colorBar常見類型如下:

(1) 純色圖像

(2) 水平4條彩色條紋

(3) 垂直4條彩色條紋

(4) 垂直8條彩色條紋

(5) 純色背景上純色目標(biāo)

2 colorBar生成實現(xiàn)源碼(以漸變條為例)

 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);

運行后輸出如下:

總結(jié)

以上是生活随笔為你收集整理的图像处理之生成ColorBar的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。