Capture RGB Image using OV5640

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Capture RGB Image using OV5640

7,196 Views
r2
Contributor II

I am using Linux kernel 3.0.35 on the i.MX6 dual core processor with an OV5640 camera sensor on the MIPI CSI-2 port.  I can receive still images and video from the sensor in YUV format using all of the modes and expected frame rates.

I have examined the ov5640_mipi.c file and note that V4L2_PIX_FMT_RGB565 is, or should be, supported.  However, it appears that the pixelformat value is only used to configure the csi-2 driver.  I do not see where the pixelformat parameter is used to configure the sensor output mode.  In fact, changing the pixelformat from V4L2_PIX_FMT_UYVY to V4L2_PIX_FMT_RGB565 gives me a very poor image.

Can anyone tell me what changes I need to make to the driver(s) in order to capture RGB still images? Thanks.

Labels (3)
Tags (2)
7 Replies

1,960 Views
khodifadlalit
Contributor I

i am working on imx8mn (part no:-MIMX8MN1CVTIZAA) processor. and camera sensor ar0521

i am successfully captured black and white image from sensor.

but now i want to captured color image from  sensor

i change the imx8-isi-cap.c file function,

mxc_isi_subdev_get_fmt(struct v4l2_subdev *sd,
struct v4l2_subdev_pad_config *cfg,
struct v4l2_subdev_format *fmt)

and

other function

static int mxc_isi_cap_g_fmt_mplane(struct file *file, void *fh,
struct v4l2_format *f)

give a color format
 pix->colorspace = V4L2_COLORSPACE_SRGB;

but i new for v4l2 and camera sensor driver so help me whar are change required (imx8-isi-cap.c or imx8-mipi-csi2-sam.c or other file) need to change for capture colour image from camera sensor ar0521

thanks

0 Kudos

3,144 Views
kimlim
Contributor III

can only stick with DMA enabled GPU UYVY to RGB conversion for the time being. :smileyhappy:

http://events.linuxfoundation.org/sites/events/files/slides/slides_4.pdf

3,144 Views
joanxie
NXP TechSupport
NXP TechSupport

Refer to the linux Reference Manual,

The supported picture formats for OV5640 Using MIPI CSI-2 interface are:

• YUV422P

• UYVY

• YUV420

0 Kudos

3,144 Views
kimlim
Contributor III

From i.MX 6Solo/6DualLite Linux Reference Manual, Rev. L3.0.35_4.1.0, 09/2013:

17.3 Driver Features

• Supporting 1-4 lanes

• Supporting IPU(0,1) and CSI(0,1)

• Supporting 0-3 virtual channels

• Supporting the following date types:

• RGB formats: RGB888, RGB666, RGB565, RGB555, RGB444

• YUV formats: YUV422 8bit, YUV422 10bit, YUV420 8bit, YUV420 10bit

• RAW data: RAW6, RAW7, RAW8, RAW10, RAW12, RAW14

However, the implemented V4L2 capture interface over the MIPI driver only support:

16.1.2 Software Operation

The camera driver implements the V4L2 capture interface and applications and uses the V4L2 capture interface to operate the camera.

The supported operations of V4L2 capture are:

• Capture stream mode

The supported picture formats are:

• YUV422P

• UYVY

• YUV420

The supported picture sizes are:

• QVGA

• VGA

• 720P

• 1080P

Hopefully we could get the support for RGB soon (save the GPU resources to convert from YUV to RGB for subsequent image processing).

0 Kudos

3,144 Views
r2
Contributor II

Thanks, Kim.  This is exactly the information that I had gathered while reviewing the Linux documentation prior to posting my question.  I know that both the OV5640 and the V4L2 software can support RGB but the drivers provided by Freescale do not implement this format.  My original question solicited help in modifying the driver(s).  So, while someone put "Assumed Answered" on my posting, my question remains unanswered.  I take the liberty of reiterating your aspiration:  "Hopefully we could get the support for RGB soon ..."

0 Kudos

3,144 Views
kimlim
Contributor III

may i know where can i download the linux Reference Manual?

0 Kudos

3,144 Views
Yuri
NXP Employee
NXP Employee

http://www.freescale.com/webapp/Download?colCode=L3.0.35_4.1.0_LINUX_DOCS&Parent_nodeId=133769948107...


i.MX 6 Series Software and Development Tool R|Freescale

Have a great day,
Yuri

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------