我的sensor是mt9p031,ic是dm368,用dvsdk4.02开发的,但是我拍出来的图像颜色不对,物体是蓝色,拍出来的是红色
这是物体本来的图像
这是拍出来的图像
请问vpfe或者mt 9p031的寄存器可以改颜色吗?!
如果不能怎么解决呢?!
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
你好,
能否尝试修改sensor输出的第一个颜色,或者DM36x的CCD Color Pattern (CCOLP)寄存器?
9p031里面没有找到相关的设置,只在vpfe里面有ccolp的设置
dm365ccdc.c里面有与之对应的代码:
.config_params = {
.data_size = CCDC_12_BITS,
.data_shift = CCDC_NO_SHIFT,
.col_pat_field0 = {
.olop = CCDC_GREEN_BLUE,
.olep = CCDC_BLUE,
.elop = CCDC_RED,
.elep = CCDC_GREEN_RED, },
.col_pat_field1 = {
.olop = CCDC_GREEN_BLUE,
.olep = CCDC_BLUE,
.elop = CCDC_RED,
.elep = CCDC_GREEN_RED, },
val = (params->config_params.col_pat_field0.olop) |
(params->config_params.col_pat_field0.olep << 2) |
(params->config_params.col_pat_field0.elop << 4) |
(params->config_params.col_pat_field0.elep << 6) |
(params->config_params.col_pat_field1.olop << 8) |
(params->config_params.col_pat_field1.olep << 10) |
(params->config_params.col_pat_field1.elop << 12) |
(params->config_params.col_pat_field1.elep << 14);
regw(val, CCOLP);
我刚开始想可能是蓝色红色对调,所以把上面红色的代码改成了:
.olep = CCDC_RED,
.elop = CCDC_BLUE,
结果还是那样的,我不知道有没有改对,是根据什么来改的?
如果是根据bayer格式来改的,又怎么对应呢?
你需要按照bayer pattern的格式来配置,可能sensor输出的第一个像素是R,或者是Gr,或者是Gb,或者是Gr,四种可能性。
R Gr
Gb G
四种可能性配置是:RGrGbG,GrRGGb,GbGRGr,GGbGrR
什么意思?
你的9P031不是cmos的sensor么,怎么接进来的是YUV数据?
你说的颜色错是指bayer pattern错吧?
除了你说的可以改sensor 应该是更改输出的第一个像素的位置之外,
ISP这里可以改
1.IPIPE_SRC_COL
或者
2 更改IPIPE的其实读像素的位置,.IPIPE_SRC_VPS,IPIPE_SRC_HPS。
Christian Shen:
你好!
我现在DM8127上用MN43041,遇到一些问题,怀疑是像素顺序出错,但是不知道.IPIPE_SRC_COL,IPIPE_SRC_VPS,IPIPE_SRC_HPS,这几个寄存器该如何配置,有介绍配置额相关文档么?我的帖子如下,麻烦去看一看,谢谢!
http://www.deyisupport.com/question_answer/dsp_arm/davinci_digital_media_processors/f/39/t/22001.aspx
mapdog 你好!
图中显示的也是rawdata,我用CCD抓取rawdata数据,4种可能逐个验证,还是不正确。
我的是1080P的,27M晶振,正常像素时钟应该为30P/81M,60P/162M.但是现在是30P/71M,60P/142M。
现在也找到了一些原因。我开启的是fullfeature模式,测得以上结果。我们改用caputure_display模式,时钟正确了,显示也比较流畅,但是图像颜色还是不对。
在DM8127里面,底层驱动配置好了MN34041的寄存器,应用程序哪一部分会更改他们呢?
还有关于RGB颜色顺序的部分,现在也没有找到?