一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

通過視頻幀提取及批量取模轉(zhuǎn)換實(shí)現(xiàn)基于STC32的點(diǎn)陣LED動(dòng)畫播放

jf_07365693 ? 來源:jf_07365693 ? 作者:jf_07365693 ? 2024-06-27 02:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

image.png

項(xiàng)目摘要

通過視頻幀圖片提取,圖片批量裁剪,轉(zhuǎn)換為BMP文件并取模,獲得顯示屏代碼,基于STC32單片機(jī),在8x8點(diǎn)陣LED模塊上實(shí)現(xiàn)動(dòng)畫播放。

項(xiàng)目?jī)?nèi)容

動(dòng)態(tài)圖片顯示

  1. 將目標(biāo)動(dòng)圖或視頻提取為幀圖片,可通過 MATLAB 程序?qū)崿F(xiàn);
  2. 將幀圖片裁剪為目標(biāo)顯示屏的像素比例,如 0.96 英寸 OLED 顯示屏的像素為 128x64, 則需將幀圖片按照 2:1 的寬高比進(jìn)行裁剪、對(duì)于單個(gè) 8x8 點(diǎn)陣則需按照 1:1 進(jìn)行裁剪,注意選擇目標(biāo)裁剪區(qū)域;
  3. **將裁剪過的幀圖片轉(zhuǎn)化為灰度圖像(以便后面進(jìn)行二值化),之后進(jìn)行像素縮小操作,將圖片調(diào)整至目標(biāo)顯示屏的像素分辨率,最后進(jìn)行二值化處理,并將處理結(jié)果存儲(chǔ)為 ***.bmp 格式文件;
  4. **將批量保存的 BMP 文件按照幀順序重命名為 **1,2,3... ,之后使用[批量取模工具]生成相應(yīng)的 16 進(jìn)制代碼,復(fù)制到程序中即可。

詳見: [嗶哩嗶哩 bilibili] .

**或者將幀圖片像素縮小至目標(biāo)顯示屏像素,保持彩色狀態(tài),存儲(chǔ)為 BMP 格式,使用批量取模工具,勾選 **轉(zhuǎn)換彩圖,調(diào)整閾值至適當(dāng)值(如66%),即可直接生成對(duì)應(yīng)代碼。

詳見附錄。該項(xiàng)目的STC代碼見附件。

附錄

圖片取模

  1. **提取視頻或 GIF 動(dòng)圖的幀為圖片,可使用 **MATLAB[GIF Movie Gear] 軟件
  2. **使用 **Image2Lcd 軟件批量處理目標(biāo)幀圖片,并生成 BMP 格式圖片,以便后面讀取二值化數(shù)據(jù);

**這里推薦使用 **[廣州靈派科技] 的 **=OledTools=** 軟件對(duì)圖片進(jìn)行處理,可調(diào)整灰度閾值,對(duì)于像素點(diǎn)較少的情況,轉(zhuǎn)換效果最佳;缺點(diǎn)是不能進(jìn)行批量處理。

**對(duì)于 128x64 像素的轉(zhuǎn)換,各軟件均可。批量轉(zhuǎn)換推薦 **[PictureReader] 軟件,可批量生成 BMP 文件。

  1. **將BMP圖片轉(zhuǎn)化為數(shù)模,可使用 **CopyLeft By Horse2000 (字模提取)或 [PCtoLCD2018]軟件.

一些有趣的資源: [Wokwi OLED Animation Maker for Arduino]動(dòng)態(tài)圖標(biāo)顯示在 128x64 顯示屏利用 Arduino 代碼。

視頻幀提取

clear;
video_file='test.mp4';
video=VideoReader(video_file);
frame_number=video.NumFrames;
for i = 1:5:frame_number
    image_name=strcat('test',num2str((i-1)/5+1)); % 每5幀取一張圖
    image_name=strcat(image_name,'.jpg');
    I=read(video,i);  %讀出圖片
    imwrite(I,image_name,'jpg'); %寫入圖片
    I=[];
end

MATLAB重命名文件的排序問題

**可使用 **sort_nat 函數(shù)解決,注意需要下載安裝該函數(shù)。

file_path = '';
Tpath = 'Number'; % target path
img_path_list = dir([file_path '*.bmp']);%圖片路徑
img_num = length(img_path_list);
sort_nat_name=sort_nat({img_path_list.name});
for k = 1:img_num
    image_name = sort_nat_name{k};%獲取圖片名稱
    image = imread(strcat(file_path,image_name));%讀取圖片
    imwrite(image,strcat(Tpath,int2str(k),'.bmp'),'bmp'); 
end

圖像裁剪

clear;clc;
file_path = ''; % 設(shè)定你存放圖片的目錄
img_path_list = dir(strcat(file_path, '*.jpg')); % 選后綴為 .jpg 的圖片
img_num = length(img_path_list); %獲得圖片數(shù)量
for n = 1:img_num 
    image_name = img_path_list(n).name;
    image = imread(strcat(file_path, image_name));
    crop_image = imcrop(image, [323 0, 1080, 1080]); 
    imwrite(crop_image, strcat('Cut/Cut', image_name)); % 保存文件
end

圖片像素調(diào)整

clear;clc;
numrows = 8; 
numcols = 8;
file_path = ''; % 設(shè)定你存放圖片的目錄 - 當(dāng)前文件夾
img_path_list = dir(strcat(file_path, '*.jpg')); % 選后綴為 .jpg 的圖片
img_num = length(img_path_list); %獲得圖片數(shù)量
for n = 1:img_num 
    image_name = img_path_list(n).name;
    image_n = image_name(1:end-4); % 刪除文件后綴
    image = imread(strcat(file_path, image_name));
    RtG_image = rgb2gray(image); % rgb to gray
    RS_image = imresize(RtG_image,[numrows numcols]); 
    BNR_image = imbinarize(RS_image);
    imwrite(BNR_image,strcat('Resize8x8RS',image_n,'.bmp'),'bmp'); 
end

相關(guān)資料見附件。*附件:STC_Flash_MAX7219.zip

轉(zhuǎn)載請(qǐng)注明來源,謝謝!

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • led
    led
    +關(guān)注

    關(guān)注

    242

    文章

    23843

    瀏覽量

    674004
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6067

    文章

    44991

    瀏覽量

    650377
  • 點(diǎn)陣
    +關(guān)注

    關(guān)注

    6

    文章

    194

    瀏覽量

    72947
  • stc32
    +關(guān)注

    關(guān)注

    0

    文章

    14

    瀏覽量

    2339
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    《DNESP32S3使用指南-IDF版_V1.6》第四十三章 視頻播放器實(shí)驗(yàn)

    控制間隔,以正常速度播放視頻,從而實(shí)現(xiàn)視頻解碼。l 解碼完成,釋放資源最后在文件讀取完后(或者出錯(cuò)了),需要釋放申請(qǐng)的內(nèi)存、恢復(fù)LCD窗
    發(fā)表于 01-16 09:24

    如何在播放視頻過程中插入音頻

    ZDP14x0是一款基于開源GUI引擎的圖像顯示專用驅(qū)動(dòng)芯片,可以通過串口或者SPI與其他芯片通信,且能播放視頻。本文將介紹如何在播放視頻
    的頭像 發(fā)表于 12-26 11:13 ?1098次閱讀
    如何在<b class='flag-5'>播放</b><b class='flag-5'>視頻</b>過程中插入音頻

    LMH0341如何轉(zhuǎn)換出的LVDS數(shù)據(jù)格式?

    LMH0341轉(zhuǎn)換出的LVDS數(shù)據(jù)格式有具體參考資料嗎?我想用DM8168去作為主處理器外加LVDS轉(zhuǎn)RGB去實(shí)現(xiàn)
    發(fā)表于 12-23 07:31

    深妙科技 室內(nèi)外LED電源、LED屏多媒體播放器和二合一視頻處理器維修方法

    ?關(guān)于室內(nèi)外LED電源、LED屏多媒體播放器和二合一視頻處理器的維修,您可以考慮以下幾個(gè)方面: 1. 常見問題排查 LED電源 檢查電源是否
    的頭像 發(fā)表于 12-05 11:33 ?778次閱讀
    深妙科技 室內(nèi)外<b class='flag-5'>LED</b>電源、<b class='flag-5'>LED</b>屏多媒體<b class='flag-5'>播放</b>器和二合一<b class='flag-5'>視頻</b>處理器維修方法

    產(chǎn)品合二為一,傳統(tǒng)LED視頻處理器廠家何去何從

    "最近,許多LED控制系統(tǒng)制造商推出了新產(chǎn)品,引起了行業(yè)內(nèi)的軒然大波。一款三合一視頻處理器的推出,將發(fā)送卡、視頻處理器和異步播放功能融合于一臺(tái)設(shè)備中,讓許多企業(yè)感到不安。除了Linsn
    的頭像 發(fā)表于 11-07 09:18 ?753次閱讀

    《DNK210使用指南 -CanMV版 V1.0》第三十一章 視頻播放實(shí)驗(yàn)

    第三十一章 視頻播放實(shí)驗(yàn) 本章將介紹CanMV下的視頻播放通過CanMV提供的模塊便能快速實(shí)現(xiàn)
    發(fā)表于 10-31 14:20

    使用dp接口播放4K視頻的技巧

    在數(shù)字時(shí)代,4K視頻已經(jīng)成為家庭娛樂和專業(yè)領(lǐng)域中越來越常見的格式。4K視頻提供了比傳統(tǒng)1080p視頻更高的分辨率和更豐富的細(xì)節(jié),為觀眾帶來了更加震撼的視覺體驗(yàn)。然而,要完美播放4K
    的頭像 發(fā)表于 10-30 13:56 ?1579次閱讀

    基于51單片機(jī)的LED點(diǎn)陣滾動(dòng)顯示系統(tǒng)

    花樣;(4)可以利用“點(diǎn)陣LED字模生成工具”生成自己想要顯示的字符。仿真演示視頻:基于51單片機(jī)的LED點(diǎn)陣滾動(dòng)顯示系統(tǒng)-仿真
    的頭像 發(fā)表于 10-22 14:12 ?665次閱讀
    基于51單片機(jī)的<b class='flag-5'>LED</b><b class='flag-5'>點(diǎn)陣</b>滾動(dòng)顯示系統(tǒng)

    LED視頻處理器對(duì)顯示質(zhì)量的影響

    LED視頻處理器的作用在于將外部來源的圖像信號(hào)轉(zhuǎn)換LED顯示屏兼容的信號(hào),LED視頻處理器的品
    的頭像 發(fā)表于 10-16 15:57 ?774次閱讀
    <b class='flag-5'>LED</b><b class='flag-5'>視頻</b>處理器對(duì)顯示質(zhì)量的影響

    在米爾電子MPSOC實(shí)現(xiàn)12G SDI視頻采集H.265壓縮SGMII萬兆以太網(wǎng)推流

    Write IP核實(shí)現(xiàn)。在這一階段,可以對(duì)視頻進(jìn)行顏色轉(zhuǎn)換、縮放等處理。 H.265 視頻壓縮 :使用Zynq UltraScale
    發(fā)表于 10-14 17:42

    華納云:美國(guó)服務(wù)器中Lightbox中如何實(shí)現(xiàn)視頻播放功能

    在美國(guó)服務(wù)器中Lightbox中實(shí)現(xiàn)視頻播放功能,通常需要以下幾個(gè)步驟: 1.引入Lightbox庫:首先,你需要在你的項(xiàng)目中引入Lightbox庫。你可以通過CDN鏈接或者下載到本地
    的頭像 發(fā)表于 10-12 15:22 ?488次閱讀

    通過電平轉(zhuǎn)換實(shí)現(xiàn)窄帶IoT實(shí)現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《通過電平轉(zhuǎn)換實(shí)現(xiàn)窄帶IoT實(shí)現(xiàn).pdf》資料免費(fèi)下載
    發(fā)表于 09-21 11:08 ?0次下載
    <b class='flag-5'>通過</b>電平<b class='flag-5'>轉(zhuǎn)換</b><b class='flag-5'>實(shí)現(xiàn)</b>窄帶IoT<b class='flag-5'>實(shí)現(xiàn)</b>

    圖片動(dòng)畫控件和Video image控件的使用方法

    在UI開發(fā)過程中,序列基本是繞不開的,AWTK 支持多種方法實(shí)現(xiàn)序列顯示,本文介紹圖片動(dòng)畫控件和Video image控件的使用方法。
    的頭像 發(fā)表于 08-06 16:44 ?1663次閱讀
    圖片<b class='flag-5'>動(dòng)畫</b>控件和Video image控件的使用方法

    請(qǐng)問ESP32-S3能不能實(shí)現(xiàn)播放視頻?

    1. 請(qǐng)問下 ESP32-S3 有播放mp4視頻的案例 可供參考嗎? 2. 使用 esp_jpeg 組件可以解碼jpg文件,但是音頻又怎么同步播放?而且解碼+刷屏 非常耗時(shí),320x240屏 幀率
    發(fā)表于 07-23 06:53

    【AWTK使用經(jīng)驗(yàn)】如何實(shí)現(xiàn)序列動(dòng)畫

    目前想在AWTK中顯示炫酷流暢的圖片動(dòng)畫,此時(shí)可以用video_image控件來播放序列動(dòng)畫。本篇文章將介紹該控件的原理和使用方法。圖1ZTP800示教器運(yùn)行v
    的頭像 發(fā)表于 07-18 08:25 ?854次閱讀
    【AWTK使用經(jīng)驗(yàn)】如何<b class='flag-5'>實(shí)現(xiàn)</b>序列<b class='flag-5'>幀</b><b class='flag-5'>動(dòng)畫</b>