chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

淺談圖像調(diào)試之raw圖像問題分析

新機(jī)器視覺 ? 來源:ISP Tuning ? 2023-11-27 10:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1、問題背景

在圖像調(diào)試過程,當(dāng)發(fā)現(xiàn)一個問題時,很多時候都要通過 dump raw 圖像來分析,如果raw圖像上有,那就排除了是 ISP的處理導(dǎo)致。

下一步就是排查 sensor 或者鏡頭,這樣可以有效的幫我們定位問題所在。

但遇到過有些 raw, 用工具打不開或者出圖不對的情況,那可能是因?yàn)?raw 的存儲格式不同導(dǎo)致,本文主要對 raw 的格式做下介紹說明。

2、問題分析

a. 什么是 raw

raw 數(shù)據(jù)是 sensor 輸出的原始數(shù)據(jù),常用的一般有raw8, raw10, raw12等,分別表示一個像素點(diǎn)有 8bit、10bit、12bit 數(shù)據(jù)。

是 sensor 將光信號轉(zhuǎn)化為電信號時的電平高低的原始記錄,單純地沒有進(jìn)行任何處理的圖像數(shù)據(jù),即表現(xiàn)的是 sensor 和鏡頭本征特性的數(shù)據(jù)。

raw 數(shù)據(jù)在輸出的時候是有一定順序的,主要有四種: GRBG、RGGB、BGGR、GBRG,如下圖為BGGR格式。

cc6faf98-8c0e-11ee-939d-92fbcf53809c.png

b. raw 分哪幾種格式,有什么區(qū)別 ?

raw 一般分為 plain raw 和 mipi raw,主要是存儲方式上的區(qū)別,如下圖所示是 Plain raw10 的示意圖。

cc80f852-8c0e-11ee-939d-92fbcf53809c.png

10bit的raw,單個像素也就是10bit,需要兩個字節(jié)(16bit)來存儲,那就會空出 6位用不到。

因?yàn)橛锌沼啵@里就涉及到一個高位/低位對齊的問題,也就是存儲數(shù)據(jù)時,右移6位低位對齊(如上圖1所示),左移6位高位對齊(如上圖2所示)。

這個主要看平臺廠商對數(shù)據(jù)處理有什么要求,我司用的是高位對齊的數(shù)據(jù),所以讀取時,要有相應(yīng)的移位操作才行。

如下圖所示是 mipi raw10 的示意圖,以大端存儲方式為例,它是把4個像素放到5個字節(jié)(40bit)中,組成一個包去存儲。

cc8d3414-8c0e-11ee-939d-92fbcf53809c.png

前4字節(jié)依次存放 raw10 圖像的前 4個像素的后 8位,4個像素的前 2位依次存放在包的第 5個字節(jié)中。

所以從存儲方式來看,mipi raw 的存儲方式是要比 plain raw 更節(jié)省內(nèi)存。

c. 怎么正確查看 raw ?

一般raw圖工具打開都會要求配置一下 raw 圖尺寸、位寬、bayer格式、MSB/LSB。

但一般工具支持 plain raw 打開的居多,還有些并不支持MSB和LSB的選擇,所以需要我們對 raw 做一下處理。

如下是mipi raw 轉(zhuǎn) plain raw 、plain raw10 MSB 轉(zhuǎn)LSB 的相關(guān) python 代碼。

分析代碼的處理過程,也會加深我們關(guān)于raw圖像的理解,如下代碼中使用的raw圖像,可以在公眾號后臺回復(fù) "raw圖" 獲取。

# plain raw10 的讀取和 MSB轉(zhuǎn)LSB的處理


import numpy as np


def read_plained_file(file_path_name,height,width,shift_bits):
    frame = np.fromfile(file_path_name, dtype="uint16")
    frame=frame[0:height*width]
    frame.shape = [height, width]


    # MSB ----> LSB,  LSB存低位數(shù)據(jù),此時是高位對齊的,則右移代表向低位移了6位,數(shù)值是減小的狀態(tài)。
    frame=np.right_shift(frame, shift_bits)  
    return frame


if __name__ == "__main__":
    file_name = "ov13b10_shading_4208X3120_MSB.raw"
    image = read_plained_file(file_name, 3120, 4208, 6)
    image = image / 1023


    # 將讀取的 image 數(shù)據(jù)另存為 raw 數(shù)據(jù)
    output_file_name = "output_image.raw"


    # 將圖像數(shù)據(jù)映射到 16 位無符號整數(shù)范圍
    image_mapped = (image * 1023).astype('uint16')
    image_mapped.tofile(output_file_name)
    print(f"Image data has been saved to {output_file_name}")
# mipi raw10 轉(zhuǎn) plain raw10


import numpy as np
import math


def read_mipi10_file(file_path_name,height,width):
    # 單行長度的補(bǔ)齊
    new_width = int(math.floor((width + 3) / 4) * 4) #對四字節(jié)補(bǔ)齊
    packet_num_L = int(new_width / 4)
    width_byte_num = packet_num_L * 5 #單行byte長度
    width_byte_num = int(math.floor((width_byte_num + 7) / 8) * 8)#單行做8個字節(jié)補(bǔ)齊
    image_bytes=width_byte_num*height
    frame = np.fromfile(file_path_name, count=image_bytes,dtype ="uint8")
    print("b shape",frame.shape)
    print('%#x'%frame[0])


    frame.shape = [height, width_byte_num] #按字節(jié)整理的圖像矩陣
    one_byte = frame[:,05]
    two_byte = frame[:,15]
    three_byte = frame[:,25]
    four_byte = frame[:,35]
    five_byte = frame[:,45]


    #數(shù)據(jù)轉(zhuǎn)換防止溢出
    one_byte = one_byte.astype('uint16')
    two_byte = two_byte.astype('uint16')
    three_byte = three_byte.astype('uint16')
    four_byte = four_byte.astype('uint16')
    five_byte = five_byte.astype('uint16')


    #用矩陣的方法進(jìn)行像素的拼接
    one_byte = np.left_shift(one_byte, 2) + np.bitwise_and((five_byte), 3)
    two_byte = np.left_shift(two_byte, 2) + np.right_shift(np.bitwise_and((five_byte), 12), 2)
    three_byte = np.left_shift(three_byte, 2) + np.right_shift(np.bitwise_and((five_byte), 48), 4)
    four_byte = np.left_shift(four_byte, 2) + np.right_shift(np.bitwise_and((five_byte), 192), 6)


    #重組幀
    frame_pixels=np.zeros(shape=(height,new_width))
    frame_pixels[:, 0: new_width:4]=one_byte[:, 0: packet_num_L]
    frame_pixels[:, 1: new_width:4]=two_byte[:, 0: packet_num_L]
    frame_pixels[:, 2: new_width:4]=three_byte[:, 0: packet_num_L]
    frame_pixels[:, 3: new_width:4]=four_byte[:, 0: packet_num_L]


    #裁剪無用的數(shù)據(jù),這里表示的是0-2559列,包含完整的數(shù)據(jù)了。
    frame_out=frame_pixels[:,0:width]
    return frame_out


if __name__ == "__main__":
    file_name="imx335_2560x1440_GRBG_mipi.raw"
    image=read_mipi10_file(file_name,1440, 2560)
    image=image/1023


    # 將讀取的 image 數(shù)據(jù)另存為 raw 數(shù)據(jù)
    output2_file_name = "output2_image.raw"
    # 將圖像數(shù)據(jù)映射到 16 位無符號整數(shù)范圍
    image_mapped = (image * 1023).astype('uint16')
    image_mapped.tofile(output2_file_name)
    print(f"Image data has been saved to {output2_file_name}")

審核編輯:黃飛

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

    關(guān)注

    6

    文章

    498

    瀏覽量

    55092
  • 光信號
    +關(guān)注

    關(guān)注

    0

    文章

    465

    瀏覽量

    28436
  • 電信號
    +關(guān)注

    關(guān)注

    1

    文章

    846

    瀏覽量

    21926
  • RAW
    RAW
    +關(guān)注

    關(guān)注

    0

    文章

    21

    瀏覽量

    4232

原文標(biāo)題:關(guān)于 raw 圖像的理解

文章出處:【微信號:vision263com,微信公眾號:新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    FPGA視頻圖像抓取案例分析

    MYD-CZU3EG-ISP 提供4K分辨率的攝像頭功能,同時輸出4K分辨率的圖像顯示到圖像輸出接口,下面帶一起來體驗(yàn)FPGA的圖像抓取和圖像顯示的操作和應(yīng)用。
    發(fā)表于 11-05 12:37 ?2396次閱讀

    調(diào)試THS8200時圖像能正常輸出,但是圖像很模糊不清怎么樣解決?

    我們在調(diào)試THS8200時圖像能正常輸出,但是圖像很模糊不清,跟原來圖像相比差太遠(yuǎn)了,您們能提供一些調(diào)試參數(shù)給我們嗎?或者怎么樣解決?
    發(fā)表于 01-17 07:18

    淺談大數(shù)據(jù)視頻圖像處理系統(tǒng)技術(shù)

    淺談大數(shù)據(jù)視頻圖像處理系統(tǒng)技術(shù)近年來,隨著計(jì)算機(jī)、網(wǎng)絡(luò)以及圖像處理、傳輸技術(shù)的飛速發(fā)展,視頻監(jiān)控系統(tǒng)正向著高清化、智能化和網(wǎng)絡(luò)化方向發(fā)展。視頻監(jiān)控系統(tǒng)的高清化、智能化和網(wǎng)絡(luò)化為視頻監(jiān)控圖像
    發(fā)表于 09-24 15:22

    怎樣獲取bayer raw圖像的AWB的參數(shù)?使用什么工具。跪求解...

    參數(shù),燒寫,工具用度信的,拍照用三星demo板,分析用imatest,基本思路是搞清楚了,但是要分析測試RAW圖像的R/Gr,B/Gr的參數(shù)沒有工具啊,三星也沒有,哪位大神給我一點(diǎn)指導(dǎo)
    發(fā)表于 09-26 00:13

    例說FPGA連載101:雙攝像頭圖像采集板級調(diào)試

    例說FPGA連載101:雙攝像頭圖像采集板級調(diào)試① 連接好硬件,SF-VIP1核心板 + SF-VGA子板 + VGA顯示器 + 兩個SF-MT9D111子板,并且給VIP核心板上電
    發(fā)表于 05-16 21:17

    如何獲取raw10格式的圖像數(shù)據(jù)

    我正在使用CX3 DEV板來安裝OV5640傳感器?,F(xiàn)在,使用這個例子,我可以得到Y(jié)UV格式的圖像數(shù)據(jù),但是我想得到RAW10格式的圖像數(shù)據(jù)。如何修改代碼? 以上來自于百度翻譯 以下為原文I am
    發(fā)表于 10-15 15:59

    圖像頻率域分析傅里葉變換

    文章目錄傅里葉變換基礎(chǔ)傅里葉級數(shù)傅里葉積分傅里葉變換一維連續(xù)傅里葉變換一維離散傅里葉變換二維離散傅里葉變換正變換反變換卷積卷積定理數(shù)字圖像DFT空間域和頻域圖像頻域?yàn)V波基本步驟圖像頻率特性分析
    發(fā)表于 05-22 07:41

    伺服調(diào)試—結(jié)合圖像分析

    ! 我們都還年輕 ,我們還有無限可能 。 YES!伺服調(diào)試—結(jié)合圖像分析(以松下伺服為例)1. 調(diào)試前準(zhǔn)備工作:1. 1 推定出來慣量比:1.1.1 如何推定慣量比:1. 2 檢查驅(qū)
    發(fā)表于 06-28 10:09

    智能車競賽淺談——圖像

    前言本文主要記錄一點(diǎn)有關(guān)智能車攝像頭相關(guān)的內(nèi)容,供入門智能車的同學(xué)一個參考,主要參考o(jì)pencv、圖像處理的部分知識來分析描述。認(rèn)識圖像基本含義首先,咱來了解一下圖像的基本含義,
    發(fā)表于 09-24 15:05

    基于圖像分析的黃豆質(zhì)量評估系統(tǒng)

    基于圖像分析的黃豆質(zhì)量評估系統(tǒng)/基于圖像分析的黃豆質(zhì)量評估系統(tǒng)
    發(fā)表于 12-14 17:58 ?0次下載

    PyTorch教程7.2圖像卷積

    電子發(fā)燒友網(wǎng)站提供《PyTorch教程7.2圖像卷積.pdf》資料免費(fèi)下載
    發(fā)表于 06-05 10:13 ?0次下載
    PyTorch教程7.2<b class='flag-5'>之</b><b class='flag-5'>圖像</b>卷積

    PyTorch教程14.1圖像增強(qiáng)

    電子發(fā)燒友網(wǎng)站提供《PyTorch教程14.1圖像增強(qiáng).pdf》資料免費(fèi)下載
    發(fā)表于 06-05 14:24 ?0次下載
    PyTorch教程14.1<b class='flag-5'>之</b><b class='flag-5'>圖像</b>增強(qiáng)

    對于極暗場景RAW圖像去噪,你是否還在被標(biāo)定折磨?

    SID[1] 首先提出一套完整的 benchmark 以及 dataset 進(jìn)行RAW圖像低光增強(qiáng)或去噪。為什么要從RAW圖像出發(fā)進(jìn)行去噪和低光增強(qiáng)呢?因?yàn)槠渚哂懈叩纳舷蓿唧w可以參
    的頭像 發(fā)表于 08-11 15:47 ?2999次閱讀
    對于極暗場景<b class='flag-5'>RAW</b><b class='flag-5'>圖像</b>去噪,你是否還在被標(biāo)定折磨?

    機(jī)器視覺圖像增強(qiáng)和圖像處理

    對原始獲取圖像進(jìn)行一系列的運(yùn)算處理,稱為圖像處理。圖像處理是機(jī)器視覺技術(shù)的方法基礎(chǔ),包括圖像增強(qiáng)、邊緣提取、圖像分割、形態(tài)學(xué)處理、
    發(fā)表于 10-23 10:43 ?3796次閱讀
    機(jī)器視覺<b class='flag-5'>之</b><b class='flag-5'>圖像</b>增強(qiáng)和<b class='flag-5'>圖像</b>處理

    機(jī)器視覺圖像增強(qiáng)和圖像處理

    一、圖像處理技術(shù)概述1.定義對原始獲取圖像進(jìn)行一系列的運(yùn)算處理,稱為圖像處理。圖像處理是機(jī)器視覺技術(shù)的方法基礎(chǔ),包括圖像增強(qiáng)、邊緣提取、
    的頭像 發(fā)表于 10-26 08:07 ?1786次閱讀
    機(jī)器視覺<b class='flag-5'>之</b><b class='flag-5'>圖像</b>增強(qiáng)和<b class='flag-5'>圖像</b>處理