摄像头画面位置偏

Viewed 42

问题描述


摄像头拍出来的画面和预期的不一样,在位置上有偏差,图片中我对着键盘F8按键,拍出来的F7在画面中间。

屏幕分辨率640x480

elif brd=="k230_canmv_lckfb":
                self.sensor = Sensor(id=2, width=640, height=480, fps=30) if sensor is None else sensor

查看mpp/kernel/sensor/下的2093代码中无640x480分辨率意识到摄像头并不是走的640x480
启动日志中find sensor gc2093_csi2, type 25, output 1280x960@90

从sensor文档中看到crop参数:
crop
输出图像裁剪区域;
当输入为 crop=True 时,从画面中心自动裁切出合适的区域;
当输入 crop 为 (crop_x, crop_y, crop_w, crop_h) 时, crop_x 和 crop_y 为裁剪区域的左上角坐标,crop_w 和 crop_h 为裁剪区域的宽度和高度;

求问该参数是用于在sensor实际分辨率的图片中截取指定区域吗。
尝试过使用crop=(320, 240, 640, 480) 和 crop=True 没有效果

硬件板卡


庐山派 摄像头G2093

软件版本


V1.4

其他信息


[tuning] dev: 0
acq_win.width: 1280
acq_win.height: 960
pipe_ctrl: 4261412857
sensor_fd: 21
sensor_type: 25
sensor_name: gc2093_csi2
database_name: gc2093-1280x960
buffer_num: 0
buffer_size: 0
[tuning] chn: 0
out_win.width: 640
out_win.height: 480
bit_width: 0
pix_format: 5
buffer_num: 6
buffer_size: 462848
yraw_size: 0
uv_size: 0
v_size: 0
block_type: 1
wait_time: 500
chn_enable: 1
isp_3dnr_en is 1 g_isp_dev_ctx[dev_num].dev_attr.pipe_ctrl.bits.dnr3_enable is 0

2 Answers

当我使用1920x1080时,画面位置又不偏了
find sensor gc2093_csi2, type 23, output 1920x1080@30

elif brd=="k230_canmv_lckfb":
                self.sensor = Sensor(fps=30) if sensor is None else sensor

你好,crop = True 这样设置,会自动从中心去裁剪,应该这样就好了。