国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

自適應(yīng)屏幕主題的氛圍燈設(shè)計

2018-04-25 09:45文淵汪玉坤張保平
科技創(chuàng)新與應(yīng)用 2018年11期
關(guān)鍵詞:主色調(diào)

文淵 汪玉坤 張保平

摘 要:現(xiàn)如今各個領(lǐng)域都開始用燈光吸引著別人的眼球。帶有燈光渲染的產(chǎn)品更容易吸引客戶的目光,自適應(yīng)主題氛圍燈可以結(jié)合屏幕上的主色調(diào)來調(diào)整氛圍燈的顏色,該氛圍燈的設(shè)計是C#上位機實時采集屏幕內(nèi)所有像素點的RGB值,經(jīng)過主色調(diào)提取算法得到主色調(diào)的數(shù)值,通過串口與RGB燈的STM32微處理器進行數(shù)據(jù)傳輸,控制RGB燈的顏色變化,達到自適應(yīng)主題的氛圍燈效果。

關(guān)鍵詞:氛圍燈;主色調(diào);串口通信

中圖分類號:U463.65 文獻標志碼:A 文章編號:2095-2945(2018)11-0033-03

Abstract: Now all fields are beginning to attract the attention of others with lights. Products with lighting rendering are more likely to attract customers' attention. The adaptive themed atmosphere lamp can be combined with the main tone on the screen to adjust the color of the atmosphere lamp, which is designed by capturing the RGB value of all pixels on the screen in real time by the C# host computer, getting the value of the main tone through the main tone extraction algorithm, through the serial port and the STM32 microprocessor of the RGB lamp for data transmission, so as to control the color change of the RGB lamp and achieve the effect of adaptive theme atmosphere lamp.

Keywords: atmosphere lamp; main tone; serial communication

1 概述

隨著LED技術(shù)的不斷發(fā)展,燈光的渲染已被各個電子廠商加入到自己的產(chǎn)品中,但是真正結(jié)合顯示器色調(diào)的氛圍燈幾乎處于空白,所以氛圍燈的設(shè)計方法具有一定的應(yīng)運前景,無論是商業(yè)使用的大型led廣告牌還是家中的電視、投影、顯示器都可以通過自適應(yīng)屏幕主題氛圍燈的設(shè)計增強商業(yè)廣告和家庭顯示器的顯示效果,并且為了提供給用戶更好視覺體驗在設(shè)計中提出了一套醒目主色調(diào)的提取算法。最后本文從上位機的顏色提取,對RGB三色燈驅(qū)動和控制,以及上位機與STM32微處理器的串口通信幾大方面做論述。

2 總設(shè)計方案

該方案由取色上位機的設(shè)計和RGB燈的控制系統(tǒng)兩部分組成。取色上位機是基于C#語言在Vidual Studio 2016做開發(fā)。RGB燈的控制系統(tǒng)包括WS2118驅(qū)動芯片和STM32f103c8t6微處理器。

總設(shè)計流程是PC端上位機進行顏色提取與主色調(diào)分析,STM32做下位機通過串口通信的方式接收數(shù)據(jù)并對RGB三色燈帶進行控制。

3 各個功能模塊的設(shè)計與實現(xiàn)

3.1 上位機的設(shè)計

該上位機是在visual studio 2016的開發(fā)環(huán)境下進行設(shè)計。visual studio 2016是微軟公司2016年發(fā)布的一款全新的集成環(huán)境包軟件,適用于多種語言。其中NETFramework.的 WindowsForms模塊可以用更有效的開發(fā)桌面應(yīng)用。visual studio 2016可以在編寫代碼時提供實時指導(dǎo)隨著鍵入描述API,并使用自動完成功能以提高速度和精確度。燈泡圖標有助于發(fā)現(xiàn)并修復(fù)常見編碼問題,在許多情況下,可以一邊鍵入代碼,一邊“實時”地獲取幫助,并在編輯器內(nèi)直接快速執(zhí)行代碼操作。

3.1.1 控件設(shè)計

控件ComboBox1

ComboBox是編輯框(Edit)和列表框(List)的組合。它提供了多種輸入方式,可根據(jù)具體需要選擇使用純列表選擇方式、純文本編輯輸入方式或者編輯輸入和列表選擇混合方式。

在此設(shè)計中用于串口和波特率選擇的下拉框設(shè)計,在上位機于下位機連接時點擊串口框和波特率框都會彈出下拉菜單選擇當前串口和波特率。其中Items屬性用于添加下拉列表里的元素。Text屬性用于顯示初始狀態(tài)下該控件框的文本。

控件PictureBox

PictureBox控件是用來呈現(xiàn)圖像,圖像資源可以來自文件,也可以是存在內(nèi)存中的位圖對象??梢燥@示本地圖像文件或來自網(wǎng)絡(luò)的圖片,也可以來自項目文件中的圖像。

在此設(shè)計中用于顯示經(jīng)過主色調(diào)提取算法后的顏色,BackColor屬性用于獲取或設(shè)置該控件背景顏色,因此將最終的RGB值賦予該屬性就能實現(xiàn)其功能。

控件SerialPort

SerialPort控件用于控制串行端口文件資源。此類提供同步I/O和事件驅(qū)動的I/O、對管腳和中斷狀態(tài)的訪問以及對串行驅(qū)動程序?qū)傩缘脑L問。另外,此類的功能可以包裝在內(nèi)部Stream對象中,可通過BaseStream屬性訪問,并且可以傳遞給包裝或使用流的類。在此設(shè)計中用于上位機和STM32單片機的串口通訊。BaudRate屬性用來設(shè)置串行波特率,BytesToWrite屬性用于設(shè)置發(fā)送緩沖區(qū)的字節(jié)數(shù),RtseEnable屬性設(shè)置為False則在通信過程中不會請求發(fā)送(RTS)行。

3.1.2 屏幕圖像的捕獲

(1)首先要創(chuàng)建一個和當前屏幕大小相同的Bitmap對象, 要實現(xiàn)此操作,首先就要現(xiàn)獲得當前顯示器的DC,然后根據(jù)此DC來創(chuàng)建Graphic對象,再由此Graphic對象產(chǎn)生此位圖對象。(2)根據(jù)此位圖創(chuàng)建一個和其一樣的Graphic對象。(3)捕獲當前屏幕: 我們是通過當前屏幕保存到創(chuàng)建的位圖對象中來實現(xiàn)的,具體的實現(xiàn)過程是通過Windows的一個API函數(shù)——Bitblt。

3.1.3 RGB值獲取方法

C#數(shù)字圖像處理有3種典型方法:提取像素法、內(nèi)存法、指針法。指針法直接應(yīng)用指針來對圖像進行處理,速度最快。故在此軟件設(shè)計中采用指針法獲取圖像中的RGB值。默認情況下,C# 不支持指針運算。不過,通過使用 unsafe 關(guān)鍵字,可以定義可使用指針的不安全上下文。

//創(chuàng)建圖像

Bitmap image = new Bitmap( "c://images//image.gif" );

//獲取圖像的BitmapData對像

BitmapData data = image.LockBits( new Recta4ngle( 0 , 0 , image.Width , image.Height) , ImageLockMode.ReadWrite , PixelFormat.Format24bppRgb );

//循環(huán)處理

unsafe

{ byte* ptr = ( byte* )( data.Scan0 );

for( int i = 0 ; i < data.Height ; i ++ )

{ for( int j = 0 ; j < data.Width ; j ++ )

{ ptr += 3; }

ptr += data.Stride - data.Width * 3;

} }

3.2 主色調(diào)提取算法

找出一張圖片中的主色調(diào),這里的主色調(diào)并不是指顏色最多的,而是指最一幅圖像中最“醒目”的顏色。(1)計算整個圖片的色調(diào)的平均值 (avg_hue)。(2)遍歷每個像素,計算該像素的色調(diào)值與avg_hue 的色差(即將二者相減后取絕對值),如果該色差大于一個閾值,則將該像素加入到“醒目像素”的數(shù)組。(3)計算整個“醒目像素列表”的顏色均值,得到的結(jié)果即為該圖片的主色調(diào)。

//色差大于閾值的顏色值

var rgbs = new List();

for (int h = 0; h < bitmap.Height; h++)

{ for (int w = 0; w < bitmap.Width; w++)

{ var color = bitmap.GetPixel(w, h);

var hue = color.GetHue();

//如果色差大于閾值,則加入列表

if (Math.Abs(hue - avg_hue) > threshold)

{ rgbs.Add(color);

} } }

if (rgbs.Count == 0)

return Color.Black;

//計算列表中的顏色均值,結(jié)果即為該圖片的主色調(diào)

int sum_r = 0, sum_g = 0, sum_b = 0;

foreach (var rgb in rgbs)

{ sum_r += rgb.R;

sum_g += rgb.G;

sum_b += rgb.B;

} return Color.FromArgb(sum_r / rgbs.Count,

sum_g / rgbs.Count,

sum_b / rgbs.Count)

}

3.3 RGB燈帶驅(qū)動控制

WS2811芯片是三通道LED驅(qū)動控制專用電路,芯片內(nèi)部包含了智能數(shù)字接口數(shù)據(jù)鎖存信號整形放大驅(qū)動電路,還包含有高精度的內(nèi)部振蕩器和15V高壓可編程定電流輸出驅(qū)動器。

芯片在上電復(fù)位以后,DIN端接受從控制器傳輸過來的數(shù)據(jù),首先送過來的24bit數(shù)據(jù)被第一個芯片提取后,送到芯片數(shù)據(jù)鎖存器,剩余數(shù)據(jù)經(jīng)過內(nèi)部整形處理電路整形放大后通過DO端口開始轉(zhuǎn)發(fā)輸出給下一個級聯(lián)的芯片,每經(jīng)過一個芯片的傳輸,信號減少24bit。

3.4 串口通信設(shè)計

該氛圍燈設(shè)計中,采用串口通信實現(xiàn)對RBB燈的控制,PC端軟件作為上位機、單片機作為下位機組成的數(shù)據(jù)通信系統(tǒng)。

在上位機軟件設(shè)計中使用System.IO.Port.SerialPort類實現(xiàn)串口通信System.IO.Port.SerialPort是.NET Framework提供的操作串行端口的類,里面提供了一些方法、屬性和和事件供開發(fā)者調(diào)用操作串口。設(shè)計過程中首先接調(diào)用SerialPort的靜態(tài)方法GetPortNames()獲取當前計算機的串行端口名稱數(shù)組再根據(jù)串口名稱,初始化SerialPort對象,設(shè)置參數(shù),調(diào)用Open()方法打開串口,調(diào)用Write()方法發(fā)送數(shù)據(jù)。最后注冊接收數(shù)據(jù)的監(jiān)聽,獲取數(shù)據(jù)(或者另起線程循環(huán)讀取接收數(shù)據(jù))。

在硬件搭建設(shè)計中采用USB轉(zhuǎn)TTL串口通訊模塊,電腦用的一般是RS232串口,電子設(shè)備一般用TTL串口。兩者只是高低電平的電壓不同。TTL表示電壓變化范圍為0-5v。所以運用此模塊將上位機的控制數(shù)據(jù)發(fā)送給單片機下位機達到對氛圍燈的實時調(diào)色控制。

4 結(jié)束語

本設(shè)計中上位機采用的指針法獲取圖像中顏色,經(jīng)過測試速度達到要求,可實現(xiàn)實時取色的效果,主色調(diào)提取算法也提取最醒目的顏色并能通過RGB燈顯示。該設(shè)計緊跟人們未來的需求趨勢,在一件產(chǎn)品功能完善的同時追求更高的使用體驗,具有一定應(yīng)用意義。

參考文獻:

[1]曹陽.基于觸摸按鍵和PWM驅(qū)動配色的汽車氛圍燈[J].電子技術(shù),2015(12):1-3.

[2]王敏,李斌橋,徐江濤.基于色溫估計的自動白平衡算法研究[J].光電子·激光,2011(12):1872-1875.

[3]周航慈.單片機程序設(shè)計基礎(chǔ)[M].北京:北京航空航天大學出版社,2003.

[4]陳小龍,孫遜之,董偉,等.一種多模式的氛圍燈控制模塊[J].汽車零部件,2017(02):15-19.

[5]王向陽.胡峰麗,楊紅穎.一種基于區(qū)域絳合特征的彩色I圭I像檢索方法[J].小型微型計算機系統(tǒng),2007,28(2):351-355.

[6]劉軍,張洋,嚴漢宇.原子教你玩STM32(庫函數(shù)版)[M].北京:北京航空航天大學出版社,2013.

猜你喜歡
主色調(diào)
繪顏繪色
繪顏繪色
愛的味道 在流動的生活中
淺析網(wǎng)頁設(shè)計中的色彩搭配
王磊卿:拋開浮華,走向深度,是品質(zhì)之年的“主色調(diào)”
G—SHOCK猴年特別系列
熱辣夏季
論主色調(diào)在藝術(shù)設(shè)計中的運用
2013十佳球員
冰雪龍城
建湖县| 峨眉山市| 科技| 白河县| 淮阳县| 长春市| 宁南县| 丰台区| 三明市| 泉州市| 江津市| 广水市| 郯城县| 启东市| 宁安市| 南通市| 保定市| 兴仁县| 胶南市| 平陆县| 天峻县| 德州市| 佛学| 合川市| 丰镇市| 九龙县| 新竹市| 柳江县| 太原市| 清流县| 六枝特区| 溧阳市| 岐山县| 阿巴嘎旗| 张家界市| 沁源县| 连云港市| 崇仁县| 本溪市| 民勤县| 伊宁县|