我使用Dm368连接摄像头进行视频采集,摄像头输出为YUV16bit信号,现在出现个问题,采集到的图形左侧有16个像素左右的黑边,我是用的是Dvsdk4.02. 无论使用1080P、720P、还是D1都存在同样问题,并且黑边宽度不便,请问这是VPFE的配置问题吗,该如何设置?
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.
我使用Dm368连接摄像头进行视频采集,摄像头输出为YUV16bit信号,现在出现个问题,采集到的图形左侧有16个像素左右的黑边,我是用的是Dvsdk4.02. 无论使用1080P、720P、还是D1都存在同样问题,并且黑边宽度不便,请问这是VPFE的配置问题吗,该如何设置?
你好,我现在遇到的问题,是图像右边有8个像素的黑边,这个就不能像你上面说的方法来解决了。
请问,你有什么建议吗?
Tuff,你好。我采集到的1080P的图像,最上边有48个像素的黑边。
我在ccdc_setwin 里面设置了 image_win->top = 48;
然后后面有设置寄存器
regw(vert_start & START_VER_ONE_MASK, SLV0);
regw(vert_start & START_VER_TWO_MASK, SLV1);
但是图像还是有黑边,没有任何变化。请问要如何设置才能生效?
我在设置寄存器之前 调用了 ccdc_enable(0);
最后再调用 ccdc_enable(1);
但是还是无效。
今天我仔细阅读了代码,发现直接修改ccdc_setwin ,和在应用层设置capture的crop是一样的。
cAttrs.cropX = 0;
cAttrs.cropY = 48;
cAttrs.cropWidth = envp->imageWidth;
cAttrs.cropHeight = envp->imageHeight-48;
hCapture = Capture_create(hBufTab, &cAttrs);
ioctl(hCapture->fd, VIDIOC_S_CROP, &crop) 最终会调用到set_image_window(&crop->c);
所以我的问题跟这个帖子是一回事
www.deyisupport.com/.../5504.aspx
我现在的问题是,我从tvp7002得到的有效像素就是1920X1080的,最上边有黑边,我要是裁剪掉上边的黑边,那么整个图像就要上下拉伸,就会变形。
公司没有高级点的示波器之类的设备,没办法进行数字分析,只好看大家有什么能帮到我的了。
可是,具体在哪里调试这些参数呢?
是ISIF,还是TVP7002?
左侧黑边的问题,可以使用formater模块来解决,可参考如下:
不知道大家有没有解决上边黑边的问题?
df_csc->start_pix = 64;
df_csc->num_pixels= 1919;
df_csc->start_line = 0;
df_csc->num_lines = 1087;
regw(0, CSCCTL);
tval = regr(FMTCFG);
tval |= 0x01;
tval &= 0xFFFFFFFD;
tval &= 0xFFFFF0FF;
tval &= 0xFFFFFFCF;
regw(tval, FMTCFG);
regw(df_csc->start_pix & CCDC_DF_CSC_SPH_MASK, FMTSPH);
regw((df_csc->num_pixels) & CCDC_DF_CSC_SPH_MASK, FMTLNH); //
regw(df_csc->start_line & CCDC_DF_CSC_SPH_MASK, FMTSLV); //
regw((df_csc->num_lines) & CCDC_DF_CSC_SPH_MASK, FMTLNV); //
regw(df_csc->num_pixels+1, FMTRLEN); //
tval = regr(FMTPLEN);
tval &= 0xFFFFFF00; //
regw(tval, FMTPLEN);
regw(0x0, FMTAPTR(0)); //
tval = regr(FMTPGMVF0);
tval |= 0x01; //
regw(tval, FMTPGMVF0);
tval = regr(FMTPGMVF1);
tval |= 0x01; //
regw(tval, FMTPGMVF1);
tval = regr(FMTPGMAPS0);
tval &= 0xFFFFFFF0; //
regw(tval, FMTPGMAPS0);
tval = regr(FMTPGMAPS4);
tval &= 0xFFFFFFF0; //
regw(tval, FMTPGMAPS4);