在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Alpha半透明圖形疊加算法Matlab+Verilog的設計實現

FPGA之家 ? 來源:FPGA之家 ? 2024-05-01 10:28 ? 次閱讀

Alpha算法的研究

Alpha通道是一個8位的灰度通道,該通道用256級灰度來記錄圖像中的透明度信息,定義透明、不透明和半透明區域,其中黑表示全透明,白表示不透明,灰表示半透明[15]。

半透明混合算法目前在常用到的算法是AlphaBlend。其算法如下:假設一幅圖象是A,另一幅透明的圖象是B,那么透過B去看A,看上去的圖象C就是B和A的混合圖象,設B圖象的透明度為alpha(取值為0-1,1為完全透明,0為完全不透明)。Alpha每個通道色彩混合公式如下:

7e00cc84-0116-11ef-a297-92fbcf53809c.png

R(x)、G(x)、B(x)分別指顏色x的RGB分量原色值。從上面的公式可以知道,Alpha其實是一個決定混合透明度的數值。改變這個 alpha 值可以得到一個漸變的效果。分離RGB色用"位與"、"移位"運算的方法。

透明的比例按2的N次冪來分級,這樣可以快速運算。如果是按256級Alpha = 1/256,B圖的權重 = (256-n)/256,則A圖的權重= n/256,由式 6-1可以得到紅色通道256級半透明算法:

7e113b5a-0116-11ef-a297-92fbcf53809c.png

1.2. Alpha算法實現

1.2.1. Matlab代碼

% -----------------------------------------------------------------------

% CONFIDENTIAL IN CONFIDENCE

% This confidential and proprietary software may be only used as authorized

% by a licensing agreement from CrazyBingo (Thereturnofbingo).

% In the event of publication, the following notice is applicable:

% Copyright (C) 2011-201x CrazyBingo Corporation

% The entire notice above must be reproduced on all authorized copies.

% Author                :       CrazyBingo

% Technology blogs      :       http://blog.chinaaet.com/crazybingo %                               http://www.cnblogs.com/crazybingo % Eamil Address         :       thereturnofbingo@gmail.com

% Filename              :       RGB_Alpha.m

% Data                  :       2013-04-22

% Version               :       1.0

% Description           :       Alpha Algorithm of 2 RGB Image.

% Modification History  :

% Data          By          Version         Change Description

%=======================================================================

% 13/04/22      CrazyBingo  1.0             Original

% -----------------------------------------------------------------------

clear all;  %清除Matlab緩存數據

% -----------------------------------------------------------------------

% Read PC iamge to Matlab

IMG1 = imread('E:Matlab_InformationMatlab_ProjectBMPFish2.bmp');    % 讀取RGB文件,X光的魚圖

IMG2 = imread('E:Matlab_InformationMatlab_ProjectBMPWater.bmp');    % 讀取RGB文件,綠葉湖泊

h = size(IMG1,1);         % 讀取圖像高度

w = size(IMG1,2);         % 讀取圖像寬度

figure(1);

subplot(1,2,1);

imshow(uint8(IMG1));

subplot(1,2,2);

imshow(uint8(IMG2));

% -----------------------------------------------------------------------

% IMG1 add tO IMG2 with alpha algorthm

ALPHA_PARAM = 0.6;

IMG1 = double(IMG1);

IMG2 = double(IMG2);

IMG3 = zeros(h,2,3); for i = 1 : h for j = 1 : w

        IMG3(i,j,1) = IMG1(i,j,1)*ALPHA_PARAM + IMG2(i,j,1)*(1-ALPHA_PARAM);

        IMG3(i,j,2) = IMG1(i,j,2)*ALPHA_PARAM + IMG2(i,j,2)*(1-ALPHA_PARAM);

        IMG3(i,j,3) = IMG1(i,j,3)*ALPHA_PARAM + IMG2(i,j,3)*(1-ALPHA_PARAM);

    end

end

% -------------------------------------------------------------------------

figure(2);

imshow(uint8(IMG3));

title('Alpha Image with IMG1 & IMG2');

imwrite(IMG3,'E:Matlab_InformationMatlab_ProjectRGB_Alpha_ProcessRGB_Alpha.bmp');  %保存重建后的BMP

1.2.2. 效果圖

7e1d7ac8-0116-11ef-a297-92fbcf53809c.jpg

1.2.3.半透明算法的FPGA實現

Verilog中,通過組合邏輯,運用內嵌乘法器,以及移位運算,可以快速實現對兩幅圖像的透明度的實時控制。設計中設定了256級半透明級數,通過按鍵來控制alpha_data的參數,從而實現調節兩幅圖像之間的透明度。Verilog算法如下所示:

1 wire [15:0] red_data = ((8'd255-alpha_data)* lcd_data_reg[15:11]+  alpha_data * lcd_data_in[15:11])>> 8; //紅色通道
2  
3 wire [15:0] gre_data =  ((8'd255-alpha_data)*lcd_data_reg[10:5]+  alpha_data * lcd_data_in[10:5])>> 8; //綠色通道
4  
5 wire [15:0] blu_data =  ((8'd255-alpha_data)*lcd_data_reg[4:0]+  alpha_data * lcd_data_in[4:0])>> 8; //藍色通道
6  
7 assign lcd_data = disp_area?{red_data[4:0],gre_data[5:0],  blu_data[4:0]} : lcd_data_reg; //RGB合并

為測試半透明算法,將分形圖與彩條疊加,通過外部按鍵的調節,驗證了此半透明算法的正確性。VGA半透明圖形疊加如下圖所示,此時即可見分形圖,又可見8條彩條,兩者相互融合。

7e51a550-0116-11ef-a297-92fbcf53809c.jpg

圖 6-1 半透明算法驗證圖

審核編輯:劉清
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • matlab
    +關注

    關注

    188

    文章

    2998

    瀏覽量

    233387
  • RGB
    RGB
    +關注

    關注

    4

    文章

    804

    瀏覽量

    59656
  • 乘法器
    +關注

    關注

    9

    文章

    211

    瀏覽量

    37851
  • Alpha
    +關注

    關注

    0

    文章

    45

    瀏覽量

    26110
  • 按鍵控制
    +關注

    關注

    1

    文章

    44

    瀏覽量

    8960

原文標題:Alpha半透明圖形疊加算法Matlab+Verilog實現

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    VI上寫的程序運行起來的時候前面板看起來是透明半透明...

    VI上寫的程序運行起來的時候前面板看起來是透明半透明...
    發表于 08-11 09:21

    求51單片機顯示透明圖

    求51單片機顯示透明圖片,即把一個圖片疊加在另一個圖片上。
    發表于 08-22 09:50

    《Visual C# 2008程序設計經典案例設計與實現》---半透明的T形窗體

    《Visual C# 2008程序設計經典案例設計與實現》---半透明的T形窗體[hide][/hide]
    發表于 05-02 13:32

    DM36x的OSD透明顯示問題,請問有沒有人實現過圖片的透明疊加顯示呢??

    本帖最后由 一只耳朵怪 于 2018-5-28 17:13 編輯 大家好!? ? ? ? 在DM368上,可使用SW OSD Lib實現字符的透明疊加,不知道可不可實現圖片的
    發表于 05-28 13:09

    如何實現軟件alpha混合?

    件在這些圖中部分重疊。其中一個具有α150,另一個具有255。在FL2.PNG中,實際的LCD屏幕上沒有實現alpha混合。如何實現軟件(非硬件)alpha混合?YTS 以上來自于百
    發表于 11-22 15:20

    請問AD里銅皮顯示半透明如何改到非透明

    AD里銅皮顯示半透明,怎么改到非透明?如圖
    發表于 04-22 07:35

    ili9341透明圖片顯示顏色不正的解決辦法有哪些?

    ili9341 透明圖片顯示顏色不正,只換ili9488的屏和驅動,其他函數不變,就能正常顯示。調了好幾天了也沒找到驅動哪里的問題,求大神解答
    發表于 04-22 22:04

    最強加密算法?AES加密算法MatlabVerilog實現 精選資料推薦

    目錄背景AES加密的幾種模式基本運算AES加密原理Matlab實現Verilog實現Testbench此文重點講述了AES加密算法的加密模式
    發表于 07-28 07:34

    基于FPGA的Alpha半透明圖疊加算法硬件實現

    發表于 08-24 21:19 ?10次下載

    JAVA教程之半透明圖

    JAVA教程之半透明圖片,很好的JAVA的資料,快來學習吧
    發表于 04-11 17:14 ?1次下載

    matlab實現圖像疊加

    matlab基礎語言實現圖像疊加,可調透明度,可調圖像大小,可調疊加位置,用以參考
    發表于 04-19 09:39 ?9次下載

    BP算法及其matlab實現

    高級自動控制算法:BP算法及其matlab實現
    發表于 12-02 11:45 ?2次下載

    半透明三維物體表面光澤真實感實時渲染方法

    針對具有半透明特性玉石的真實感渲染問題,提出一種利用高光層、漫反射層、透射層三層光照模型疊加的解決方法。首先對散射層結合漫反射剖面來模擬半透明玉石的次表面散射效果,提出一種可改變漫反射剖面的散射方法
    發表于 12-11 15:44 ?1次下載
    <b class='flag-5'>半透明</b>三維物體表面光澤真實感實時渲染方法

    使用MatlabVerilog實現fibonacci序列包括源代碼和testbench

    使用MatlabVerilog實現fibonacci序列包括源代碼和testbench(電源技術論壇app)-使用MatlabVerilog
    發表于 09-16 14:41 ?13次下載
    使用<b class='flag-5'>Matlab</b>和<b class='flag-5'>Verilog</b><b class='flag-5'>實現</b>fibonacci序列包括源代碼和testbench

    Alpha半透明圖疊加設計

    Alpha 通道**是一個 **8 **位的灰度通道,該通道采用** 2^8 = 256 **級灰度來記錄圖像中的透明度信息
    的頭像 發表于 10-09 10:42 ?986次閱讀
    <b class='flag-5'>Alpha</b><b class='flag-5'>半透明圖</b>像<b class='flag-5'>疊加</b>設計
    主站蜘蛛池模板: 日本黄在线观看 | 操人网站 | 老色皮永久免费网站 | 影音先锋在线亚洲精品推荐 | 天堂网久久 | 亚洲一区二区三区在线视频 | 在线资源站 | 狠狠去 | 永久免费av网站 | 五月天婷婷视频在线观看 | 色月丁香 | 久久亚洲精选 | wwwwww色| 丁香五月欧美成人 | 日韩一级欧美一级一级国产 | 成人欧美一区二区三区视频不卡 | 久久福利网| 伊人玖玖 | 中文字幕三级久久久久久 | bt天堂在线最新版在线 | 四虎精品影院在线观看视频 | 五月国产综合视频在线观看 | 中国黄色一级毛片 | 亚洲美女视频在线观看 | 5151四虎永久在线精品免费 | 国产伦精品一区二区三区在线观看 | 色综合天天综合网亚洲影院 | 一级毛片免费全部播放 | 久久免费观看国产精品 | 好爽好紧好大的免费视频国产 | 久操操| 亚洲天堂免费 | 插插操操 | 亚洲综合校园春色 | 天天爱天天做天天爽 | 亚洲精品久久久久午夜福 | 久久精品免视看国产成人2021 | 婷婷久久精品 | 加勒比在线视频 | 日本一区二区不卡在线 | 丁香八月婷婷 |