• 正文
    • 1、前言
    • 2、相機參數(shù)
    • 3、Image Signal Processor
    • 4、ISP-Lib
  • 相關推薦
申請入駐 產(chǎn)業(yè)圖譜

STM32 ISP圖像信號處理在STM32N6中的使用體驗

03/13 15:57
1273
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

1、前言

之前在STM32N6中實現(xiàn)了官方例程DCMIPP和CSI的移植,并且解決了CubeMX在CSI的BUG以及如何解決。

但是攝像頭獲取的是黑白圖片,本期我們介紹ISP并且利用STM32N6的ISP庫實現(xiàn)色彩調整。

圖像對比如下:

2、相機參數(shù)

IMX335是一款高性能的CMOS圖像傳感器,為了使其在不同的應用場景中發(fā)揮最佳性能,需要根據(jù)具體需求進行相機參數(shù)的設置,就如同相機專業(yè)模式一樣,增益值影響圖像的亮度。較高的增益可以使圖像更亮,但也增加更多的噪聲。

曝光時間決定了傳感器捕捉光線的時間長度。較長的曝光時間可以使更多光線進入,使圖像更亮,但也可能導致運動模糊。色彩平衡和白平衡可以確保圖像的色彩準確性。

因此在獲取圖像的基礎上如何調整相機參數(shù)便是一門深厚的學問。

IMX335可以設置增益,設置曝光等基本參數(shù)的功能,但是想要獲得高質量圖像,就需要了解“圖像信號處理器”即ISP(Image Signal Processor)

3、Image Signal Processor

ISP是攝像頭系統(tǒng)中的核心芯片/模塊,負責將圖像傳感器(IMX335)輸出的原始信號(RAW Data)轉換為高質量的可視化圖像。

其核心任務包括:色彩校正(如白平衡調整),降噪處理,自動曝光(AE)與自動對焦(AF),銳化與細節(jié)增強,動態(tài)范圍優(yōu)化(如HDR/WDR)。

ST推出其ISP工具:STM32 ISP IQTune

其是一款用于STM32微控制器的圖像信號處理器(ISP)調校軟件,用于圖像質量優(yōu)化,支持實時預覽,自動調整和色彩分析。

它提供了三個平臺的客戶端以及為STM32N6專用的庫,本期我們移植X-CUBE-ISP到我們的STM32N6開發(fā)板中。

4、ISP-Lib

X-Cube-ISP主要包含了幾個.a靜態(tài)庫文件以及ISP的驅動API。

將所有文件添加到工程中,修改isp_conf.h和isp_param_conf.h的文件名(去掉templete)。

static?ISP_StatusTypeDef?GetSensorInfoHelper(uint32_t?Instance, ISP_SensorInfoTypeDef *SensorInfo){??UNUSED(Instance);??return?(ISP_StatusTypeDef)?IMX335_GetSensorInfo(&IMX335Obj, (IMX335_SensorInfo_t *) SensorInfo);}
/**? * @brief ?ISP Middleware helper. Camera gain setter? * @retval ISP Status? */static?ISP_StatusTypeDef?SetSensorGainHelper(uint32_t?Instance,?int32_t?Gain){??UNUSED(Instance);? isp_gain = Gain;??return?(ISP_StatusTypeDef)?IMX335_SetGain(&IMX335Obj, Gain);}
/**? * @brief ?ISP Middleware helper. Camera gain getter? * @retval ISP Status? */static?ISP_StatusTypeDef?GetSensorGainHelper(uint32_t?Instance,?int32_t?*Gain){??UNUSED(Instance);? *Gain = isp_gain;??return?ISP_OK;}
/**? * @brief ?ISP Middleware helper. Camera exposure setter? * @retval ISP Status? */static?ISP_StatusTypeDef?SetSensorExposureHelper(uint32_t?Instance,?int32_t?Exposure){??UNUSED(Instance);? isp_exposure = Exposure;??return?(ISP_StatusTypeDef)?IMX335_SetExposure(&IMX335Obj, Exposure);}
/**? * @brief ?ISP Middleware helper. Camera exposure getter? * @retval ISP Status? */static?ISP_StatusTypeDef?GetSensorExposureHelper(uint32_t?Instance,?int32_t?*Exposure){??UNUSED(Instance);? *Exposure = isp_exposure;??return?ISP_OK;}

定義ISP的回調函數(shù),其目的主要是獲取和設置傳感器的圖像參數(shù)信息。

ISP_AppliHelpersTypeDef appliHelpers = {0};ISP_StatAreaTypeDef statArea = {0};appliHelpers.GetSensorInfo?=?GetSensorInfoHelper;appliHelpers.SetSensorGain?=?SetSensorGainHelper;appliHelpers.GetSensorGain?=?GetSensorGainHelper;appliHelpers.SetSensorExposure?=?SetSensorExposureHelper;appliHelpers.GetSensorExposure?=?GetSensorExposureHelper;statArea.X0?=?0;statArea.Y0?=?0;statArea.XSize?=?2592;statArea.YSize?=?1944;/* Initialize the Image Signal Processing middleware */if(ISP_Init(&hcamera_isp, &hdcmipp,?0, &appliHelpers, &statArea, ISP_IQParamCacheInit[0]) !=?ISP_OK){??Error_Handler();}if?(HAL_DCMIPP_CSI_PIPE_Start(&hdcmipp,?DCMIPP_PIPE1,?DCMIPP_VIRTUAL_CHANNEL0?,?BUFFER_ADDRESS,?DCMIPP_MODE_CONTINUOUS) !=?HAL_OK){? ?Error_Handler();}if?(ISP_Start(&hcamera_isp) !=?ISP_OK){??Error_Handler();}

設置ISP的基本參數(shù),并且開啟ISP處理,之后我們進行ISP調整。

? ??while(NbMainFrames?<?60)? ? {? ? ??if?(ISP_BackgroundProcess(&hcamera_isp) !=?ISP_OK)? ? ? {? ? ? ??HAL_GPIO_TogglePin(GPIOG,GPIO_PIN_10);? ? ? }? ? }
void?HAL_DCMIPP_PIPE_VsyncEventCallback(DCMIPP_HandleTypeDef *hdcmipp, uint32_t Pipe){??UNUSED(hdcmipp);??/* Update the frame counter and call the ISP statistics handler */??switch?(Pipe)? {? ??case?DCMIPP_PIPE0?:? ? ??ISP_IncDumpFrameId(&hcamera_isp);? ? ??break;? ??case?DCMIPP_PIPE1?:? ? ??ISP_IncMainFrameId(&hcamera_isp);? ? ??ISP_GatherStatistics(&hcamera_isp);? ? ??break;? ??case?DCMIPP_PIPE2?:? ? ??ISP_IncAncillaryFrameId(&hcamera_isp);? ? ??break;? }} ?

傳入60幀圖像,讓ISP進行調整,就可以實現(xiàn)圖像色彩調整啦。

意法半導體

意法半導體

意法半導體(ST)集團于1987年6月成立,是由意大利的SGS微電子公司和法國Thomson半導體公司合并而成。1998年5月,SGS-THOMSON Microelectronics將公司名稱改為意法半導體有限公司。意法半導體是世界最大的半導體公司之一,公司銷售收入在半導體工業(yè)五大高速增長市場之間分布均衡(五大市場占2007年銷售收入的百分比):通信(35%),消費(17%),計算機(16%),汽車(16%),工業(yè)(16%)。 據(jù)最新的工業(yè)統(tǒng)計數(shù)據(jù),意法半導體是全球第五大半導體廠商,在很多市場居世界領先水平。例如,意法半導體是世界第一大專用模擬芯片和電源轉換芯片制造商,世界第一大工業(yè)半導體和機頂盒芯片供應商,而且在分立器件、手機相機模塊和車用集成電路領域居世界前列.

意法半導體(ST)集團于1987年6月成立,是由意大利的SGS微電子公司和法國Thomson半導體公司合并而成。1998年5月,SGS-THOMSON Microelectronics將公司名稱改為意法半導體有限公司。意法半導體是世界最大的半導體公司之一,公司銷售收入在半導體工業(yè)五大高速增長市場之間分布均衡(五大市場占2007年銷售收入的百分比):通信(35%),消費(17%),計算機(16%),汽車(16%),工業(yè)(16%)。 據(jù)最新的工業(yè)統(tǒng)計數(shù)據(jù),意法半導體是全球第五大半導體廠商,在很多市場居世界領先水平。例如,意法半導體是世界第一大專用模擬芯片和電源轉換芯片制造商,世界第一大工業(yè)半導體和機頂盒芯片供應商,而且在分立器件、手機相機模塊和車用集成電路領域居世界前列.收起

查看更多

相關推薦