數字圖像處理(一):從LED冬奧會、奧運會及春晚等等大屏,到手機小屏,快來挖一挖里面都有什么

數字圖像處理(一)

  • 一、什么是圖像:圖像就是多維數組
    • 圖像的存儲
    • 每一個格子有自己的顏色、深淺
      • 如何訪問圖像:
        • 1.對于RGB圖像,共有R/G/B三個通道,通過代碼來看。圖像有單通道和多通道之分,訪問時只需要以多維數組的形式訪問即可。
        • 2.如果R/G/B都擠在一個格子里面
  • 二、分析方向占地盤
    • 空間域
      • 空間域針對像素點的圖像處理主要包括:
        • 1.灰度變換
        • 2.空間域濾波
          • 2.1 空間域濾波:用不同的核kernel,也就是不同的 磨石,去挨個擦一遍每個像素點,每個像素點按照一定算法來跟磨石里面的數據求平均,然后把相當于用磨石把像素點的值改變了,這個過程也就是卷積。
    • 變換域:
  • 附加發散知識:LED賽道中大屏里面的那些事:
    • 1.大屏中有很多箱體、很多模塊/燈板,燈板上有很多LED燈,那這些燈如何亮,這里面就牽扯到很多知識點:
      • 1.1 靜態掃和非靜態掃:
      • 1.2 燈珠的亮度咋來的,通道打開時間 * 電流,波形上面就是矩形的面積,比如一個上升沿和一個下降沿,那么,包起來的矩形,高代表電流,寬代表通道打開時間。

一、什么是圖像:圖像就是多維數組

你好! 從LED冬奧會、奧運會及春晚等等大屏,到手機小屏,快來挖一挖里面都有什么。

圖像的存儲

比如,如下存儲代碼。

// 圖像在內存中的實際存儲(一維數組)
uint8_t image_data[16] = {R0,G0,B0, R1,G1,B1, R2,G2,B2, R3,G3,B3,  // 第0行R4,G4,B4, R5,G5,B5, ...                  // 第1行// ... 后續行
};

…ISP…:

  1. 通過相機等成像系統等拍攝,數字化之后的圖像就是二維/多維的矩陣/數組,也就是二維數據。圖像的存儲是以矩陣的形式存儲,矩陣中的每一個格子代表一個像素。

    • 如果想了解一些成像系統、圖像、人眼、顏色等等的小知識,快去看看視頻吧 :
      • GodWarrior、抖音號:59412983611
      • B站:宇宙第一AIYWM
        • 認準一個頭像,保你不迷路:
        • 在這里插入圖片描述

每一個格子有自己的顏色、深淺

如何訪問圖像:

1.對于RGB圖像,共有R/G/B三個通道,通過代碼來看。圖像有單通道和多通道之分,訪問時只需要以多維數組的形式訪問即可。
//像素點有:寬Width、高 height、通道Channel
char image[nWidth][nHeight][nChannel];for(int i = 0; i < nHeight; i++)for(int j = 0; j < nWidth; j++)for(k = 0; k < nChannel; k++){cout << image[j][i][k]}//c++版本
#include <iostream>const int nWidth = 10;   // 示例寬度
const int nHeight = 10;  // 示例高度
const int nChannel = 3;  // 示例通道數char image[nWidth][nHeight][nChannel];int main() {// 假設 image 數組已經被填充數據for(int i = 0; i < nHeight; i++) {for(int j = 0; j < nWidth; j++) {for(int k = 0; k < nChannel; k++) {std::cout << image[j][i][k];}}}return 0;
}//Goland
package mainimport ("fmt"
)const (nWidth   = 10 // 示例寬度nHeight  = 10 // 示例高度nChannel = 3  // 示例通道數
)func main() {var image [nWidth][nHeight][nChannel]byte// 假設 image 數組已經被填充數據for i := 0; i < nHeight; i++ {for j := 0; j < nWidth; j++ {for k := 0; k < nChannel; k++ {fmt.Print(image[j][i][k])}}}
}
2.如果R/G/B都擠在一個格子里面
for(int i = 0; i < nHeight; i++)for(int j = 0; j < nWidth; j+= 3){cout << image[j][i]; //Rcout << image[j + 1][i]; // Gcout << image[j + 2][i]; //B}

二、分析方向占地盤

既然圖像具體化成為了數組和矩陣,那么下來就有了很多的針對性分析,比如

空間域

其實上面我們按照像素點去訪問圖像的話,其實就是在空間域訪問圖像呢,所以呢,空間域其實指的就是圖像中的每個像素單元。起這個名字其實就是為了和其他的,比如下面的域區分開而已;

空間域針對像素點的圖像處理主要包括:

圖像是二維數據,正如上文所說,圖像的存儲是以矩陣的形式存儲,矩陣中的每一個格子代表一個像素,二維數據傳輸的時候是逐行傳輸的,當傳輸圖像數據時,系統會按照行優先順序將二維矩陣轉換為一維數據流:

1.灰度變換
2.空間域濾波

信號處理上,你對圖像像素數據不停的一行一行的去處理,讓他亮,并且你不能說我這個圖像有三行三列,我就亮三次就行了,不行的,拋開亮不同的圖像不說,你隨著時間推移,你需要不停的亮起像素點,才能保證呈現給客戶完整的視頻或者圖像畫面。所以,此時就是一個連續的波形,但有時候電壓或者電流太小或者太大會導致功耗、耦合、亮度一致性或者均勻性出現問題,所以需要按照預期過濾掉波形中的某些成分,也就是人們常說的濾波。降噪、平滑等就是在濾波。

2.1 空間域濾波:用不同的核kernel,也就是不同的 磨石,去挨個擦一遍每個像素點,每個像素點按照一定算法來跟磨石里面的數據求平均,然后把相當于用磨石把像素點的值改變了,這個過程也就是卷積。

變換域:

你圖像反正是一堆裝在格子里面的像素點,有自己的屬性,Width、Height、Channel,那么有玩家就會想到,將圖像轉換到其他的域,比如頻率域,在變換域做完處理之后再通過反變換方式轉換回來。

附加發散知識:LED賽道中大屏里面的那些事:

1.大屏中有很多箱體、很多模塊/燈板,燈板上有很多LED燈,那這些燈如何亮,這里面就牽扯到很多知識點:

1.1 靜態掃和非靜態掃:

1.2 燈珠的亮度咋來的,通道打開時間 * 電流,波形上面就是矩形的面積,比如一個上升沿和一個下降沿,那么,包起來的矩形,高代表電流,寬代表通道打開時間。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/912021.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/912021.shtml
英文地址,請注明出處:http://en.pswp.cn/news/912021.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

關于漢語和英語哪個更先進、歷史更久的爭論

引言&#xff1a;熱議背后的思考? ? 在全球化浪潮的推動下&#xff0c;英語作為國際通用語言&#xff0c;在世界范圍內廣泛傳播&#xff0c;其在國際商務、科技交流、學術研究等領域占據著重要地位。而漢語&#xff0c;作為世界上使用人口最多的語言之一&#xff0c;承載著…

在不聯網的情況下,從可以聯網的計算機上拷貝過來的程序報錯:nu1301 無法加載源,https://api.nuget.org/v3/index.json

解決方法&#xff1a; 在聯網的計算機上&#xff0c;找到nuget文件&#xff0c;拷貝到&#xff0c;不能聯網的計算機的相應位置 設置加載這個nuget包&#xff0c;把nuget.org取消。 注意如果出現好多包都不能加載&#xff0c;可能是框架版本的問題&#xff0c;修改框架版本&am…

TCP 狀態流程及原理詳解:從連接建立到性能優化

一、TCP 協議概述與核心價值 TCP&#xff08;Transmission Control Protocol&#xff0c;傳輸控制協議&#xff09;是互聯網協議棧中的核心協議之一&#xff0c;為網絡通信提供可靠的、面向連接的數據傳輸服務。在當今復雜多變的網絡環境中&#xff0c;深入理解 TCP 協議的狀態…

【STM32 學習筆記】PWR電源控制

在電子設備中&#xff0c;待機&#xff08;Standby&#xff09;和睡眠&#xff08;Sleep&#xff09;是兩種不同的省電模式。 1. 待機模式&#xff08;Standby Mode&#xff09;&#xff1a;在待機模式下&#xff0c;設備仍然保持一定程度的活動&#xff0c;但大部分功能處于暫…

TCP 重傳機制詳解:原理、變體與故障排查應用

一、TCP 重傳機制基礎原理 1.1 可靠傳輸的核心保障 TCP&#xff08;Transmission Control Protocol&#xff0c;傳輸控制協議&#xff09;作為互聯網中最常用的傳輸層協議&#xff0c;其核心特性之一是提供可靠的數據傳輸服務。在不可靠的網絡環境中&#xff0c;數據包可能會…

Linux-HTTP服務和APACHE-學習筆記

序 欠10年前自己的一份筆記&#xff0c;獻給今后的自己。 Internet Internet與中國 Internet最早來源于美國國防部高級研究計劃局ARPA建立的ARPANet&#xff0c;1969年投入運行。1983年&#xff0c;ARPAnet分裂為兩部分&#xff1a;ARPAnet和純軍事用的MILNET。當年1月&…

GitHub 趨勢日報 (2025年06月26日)

&#x1f4ca; 由 TrendForge 系統生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日報中的項目描述已自動翻譯為中文 &#x1f4c8; 今日獲星趨勢圖 今日獲星趨勢圖 716 free-for-dev 677 Self-Hosting-Guide 618 Best-websites-a-programmer-shoul…

利用TACCO將單細胞注釋transfer至空間組

目錄 環境導入 關鍵函數定義 運行前設定 數據準備 正式運行與保存 可視化與概率調整 偶然發現的一個好用的transfer方法&#xff0c;計算效率相當高&#xff0c;解了我的燃眉之急hh 原方法來自由以色列耶路撒冷希伯來大學的Mor Nitzan、美國麻省理工學院-哈佛大學博德研…

在反向代理環境下精準獲取客戶端真實 IP 的最佳實踐

目錄 1 背景 2 常見誤區 3 X-Forwarded-For 解析規則 4 real_ip() 函數 —— 一行代碼落地 5 與框架方法的協同 6 Nginx 端最小配置 7 生產落地 checklist 8 常見 Q&A 9 總結 在反向代理環境下精準獲取客戶端真實 IP 的最佳實踐 — 基于自定義 real_ip() 函數的完…

華為云Flexus+DeepSeek征文|基于Dify構建抓取金融新聞并發送郵箱工作流

華為云FlexusDeepSeek征文&#xff5c;基于Dify構建抓取金融新聞并發送郵箱工作流 一、構建抓取金融新聞并發送郵箱工作流前言二、構建抓取金融新聞并發送郵箱工作流環境2.1 基于FlexusX實例的Dify平臺2.2 基于MaaS的模型API商用服務 三、構建抓取金融新聞并發送郵箱工作流實戰…

疲勞檢測與行為分析:工廠智能化實踐

視覺分析算法賦能工廠疲勞與安全管理 一、背景與需求 在制造業中&#xff0c;疲勞作業是導致安全事故和效率下降的核心因素之一。傳統人工巡檢存在覆蓋面不足、響應滯后等問題&#xff0c;而基于視覺分析的智能監控系統通過多算法協同&#xff0c;可實現全天候、高精度的疲勞…

醫院信息化建設的要點

隨著醫療技術的不斷發展和患者需求的日益多樣化&#xff0c;醫院信息化建設已經成為提高醫療質量和效率的必要手段。醫院信息化建設是指通過信息技術手段對醫院日常運營、管理和服務進行數字化、智能化和網絡化的改造&#xff0c;以提高醫療服務水平和管理效率。在實施醫院信息…

Sql Server常用命令整理篇:根據某個字段刪除重復數據

通過比較同一表中的兩行數據&#xff0c;刪除那些在Text_data或Title字段上有重復值的行&#xff0c;同時保留id較小的行&#xff1a; DELETE t1 FROM data_zq t1 JOIN data_zq t2 WHERE t1.id > t2.id AND (t1.Text_data t2.Text_data OR t1.Title t2.Title);注意事項 備…

Spring AI 入門到實戰:我如何用它讓系統具備“理解能力”

我向來對“整合大模型進 Java 應用”這件事持謹慎態度。在 GPT 火了之后&#xff0c;我們團隊最初是用 HTTP 手動調 OpenAI 接口&#xff0c;把它當成一個 JSON API 用。但隨著業務交互變復雜&#xff0c;我意識到&#xff1a;我們需要的是一個語義系統&#xff0c;而不是一個封…

C++鏈表的虛擬頭節點

C鏈表虛擬頭節點&#xff08;Dummy Head&#xff09; 虛擬頭節點是鏈表操作中極為實用的設計技巧&#xff0c;它通過在鏈表真實頭部前添加一個特殊節點&#xff0c;有效簡化邊界條件處理。 一、虛擬頭節點的本質與核心作用 1. 定義 虛擬頭節點是一個不存儲真實數據的特殊節…

使用vllm部署 Nanonets-OCR-s

使用vLLM部署Nanonets-OCR-s模型的完整指南 Nanonets-OCR-s作為基于Qwen2.5-VL-3B的多模態OCR模型,結合vLLM的高效推理引擎可顯著提升部署性能。 一、環境準備與依賴安裝 1. 安裝vLLM與多模態依賴 # 安裝vLLM(含CUDA加速) pip install vllm==0.3.21 # 建議使用穩定版本…

大數據在UI前端的應用深化研究:用戶行為模式的挖掘與分析

hello寶子們...我們是艾斯視覺擅長ui設計、前端開發、數字孿生、大數據、三維建模、三維動畫10年經驗!希望我的分享能幫助到您!如需幫助可以評論關注私信我們一起探討!致敬感謝感恩! 在數字化用戶體驗競爭白熱化的時代&#xff0c;用戶行為數據已成為產品迭代的核心資產。據 Ad…

解決“Belkin USB-C LAN”有一個自分配的IP地址,將無法接入互聯網。

MacBookPro使用belkin轉換器連接網線&#xff0c;網絡不能正常連通&#xff0c;已確定網線、交換機均正常&#xff0c;可以按照如下操作嘗試。我自己的情況是通過下面的方式成功解決。如有其他情況后續繼續補充。 1. 打開“設置”-“網絡”&#xff0c;點擊名字為“Belkin USB…

Python 爬蟲初學者教程

一、爬蟲基礎概念 什么是爬蟲&#xff1f; 爬蟲是模擬瀏覽器行為&#xff0c;自動獲取網頁數據的程序&#xff0c;常用于數據采集、信息監控等場景。 爬蟲的基本流程&#xff1a; 1. 發送請求獲取網頁內容 2. 解析內容提取數據 3. 存儲數據 二、環境準備 1. 安裝 Python&…

windows下 tomcat的安裝部署

Tomcat是一個免費的開放源代碼的Web 應用服務器&#xff0c;屬于輕量級應用服務器&#xff0c;在中小型系統和并發訪問用戶不是很多的場合下被普遍使用&#xff0c;是開發和調試JSP程序的首選。 本文將詳細介紹在Windows環境下搭建Tomcat服務器&#xff0c;來搭建小型應用。 要…