Difference between revisions of "IMX477-160 12.3MP Camera"

From Waveshare Wiki
Jump to: navigation, search
m (Text replace - "Service00" to "Service02")
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<div class="tabber">
+
<div class="wiki-pages jet-green-color">
<div class="tabbertab" title="Instruction">
 
 
{{infobox item
 
{{infobox item
 
|name = IMX477 160 12.3MP Camera
 
|name = IMX477 160 12.3MP Camera
|img=[[File:IMX477-160-12.3MP-Camera-1.jpg|360px |alt=IMX477 160 12.3MP Camera|link=https://www.waveshare.com/imx477-160-12.3mp-camera.htm| IMX477 160 12.3MP Camera]]
+
|img=[[File:IMX477-160-12.3MP-Camera-1.jpg|360px |alt=IMX477 160 12.3MP Camera|{{Amazon_nolink|default={{#ifeq: {{#urlget:amazon|0}}|{{#urlget:Amazon|0}}| default|}}|url=link=https://www.waveshare.com/imx477-160-12.3mp-camera.htm}}| IMX477 160 12.3MP Camera]]
 
|category=[[:Category:Modules|Modules]], [[:Category:Raspberry Pi|Raspberry Pi]], [[:Category:Cameras|Cameras]], [[:Category:Raspberry Pi Camera|Raspberry Pi Camera]]
 
|category=[[:Category:Modules|Modules]], [[:Category:Raspberry Pi|Raspberry Pi]], [[:Category:Cameras|Cameras]], [[:Category:Raspberry Pi Camera|Raspberry Pi Camera]]
|{{#urlget:amazon|default}}=display
+
|{{#ifeq: {{#urlget:amazon|0}}|{{#urlget:Amazon|0}}| default|}}=display
 
|website_cn= [https://www.waveshare.net 微雪电子]
 
|website_cn= [https://www.waveshare.net 微雪电子]
 
|website_en=[https://www.waveshare.com/imx477-160-12.3mp-camera.htm Website]
 
|website_en=[https://www.waveshare.com/imx477-160-12.3mp-camera.htm Website]
Line 14: Line 13:
 
==Instruction==
 
==Instruction==
 
MIPI-CSI Camera, based on Sony IMX477 sensor, 1230M pixels. Supports Raspberry Pi Compute Module series and Jetson Nano developer Kit.
 
MIPI-CSI Camera, based on Sony IMX477 sensor, 1230M pixels. Supports Raspberry Pi Compute Module series and Jetson Nano developer Kit.
 +
==Parameter==
 +
*Sensor
 +
**IMX477R
 +
**12.3 million pixels: 4056(H) x 3040(V)
 +
**CMOS diagonal length: 7.9mm
 +
**Single pixel size: 1.55μm(H) x 1.55μm (V)
 +
*Output format: RAW12/10/8, COMP8
 +
*Lens standard
 +
**M12
 +
*IR filter: integrated
 +
 
==Specification of Lens==
 
==Specification of Lens==
 
{|border="1" style="text-align:center; height:700px"
 
{|border="1" style="text-align:center; height:700px"
Line 89: Line 99:
 
DISPLAY=:0.0 gst-launch-1.0 nvarguscamerasrc sensor-id=1 ! 'video/x-raw(memory:NVMM), width=3280, height=2464, format=(string)NV12, framerate=(fraction)20/1' ! nvoverlaysink -e
 
DISPLAY=:0.0 gst-launch-1.0 nvarguscamerasrc sensor-id=1 ! 'video/x-raw(memory:NVMM), width=3280, height=2464, format=(string)NV12, framerate=(fraction)20/1' ! nvoverlaysink -e
 
</pre>
 
</pre>
 +
【Notice】<br/>
 +
 +
- 12 of NV12 is a number, not a letter.<br/>
 +
 +
- The test screen is output to HDMI or DP screen, so when testing, first connect the screen to Jetson Nano.<br/>
 +
 
==Test with Compute Module==
 
==Test with Compute Module==
 
The IMX219 series can be used with Compute Module series of Raspberry Pi with carriers. And the usage are same as other Raspberry Pi cameras<br />
 
The IMX219 series can be used with Compute Module series of Raspberry Pi with carriers. And the usage are same as other Raspberry Pi cameras<br />
Line 105: Line 121:
 
*For more information about commands for camera, please refer to this guides:
 
*For more information about commands for camera, please refer to this guides:
 
:[https://www.raspberrypi.org/documentation/raspbian/applications/camera.md Application guides of Raspberry Pi camera]
 
:[https://www.raspberrypi.org/documentation/raspbian/applications/camera.md Application guides of Raspberry Pi camera]
 
</div>
 
<div class="tabbertab" title="Resources">
 
 
==Resources==
 
==Resources==
 
*[http://www.waveshare.com/w/upload/6/61/RPi-Camera-User-Manual.pdf User manual]
 
*[http://www.waveshare.com/w/upload/6/61/RPi-Camera-User-Manual.pdf User manual]
Line 117: Line 130:
 
*[http://www.waveshare.com/w/upload/a/ae/Rpi_DOC_HQcamera_FCC.pdf FCC]
 
*[http://www.waveshare.com/w/upload/a/ae/Rpi_DOC_HQcamera_FCC.pdf FCC]
 
*[http://www.waveshare.com/w/upload/9/92/Rpi_DOC_HQcamera_CE.pdf CE]
 
*[http://www.waveshare.com/w/upload/9/92/Rpi_DOC_HQcamera_CE.pdf CE]
 +
=FAQ=
 +
{{FAQ|If the picture was taken, the white balance effect is not normal?
 +
|In different shooting environments, the white balance effect may not be normal. Users can adjust the white balance parameters according to the actual usage.<br/>
 +
The following OpenCV adjustment code is for reference only. (The code is shared by RPi Camera (G) users)<br/>
 +
<pre>
 +
import picamera
 +
import picamera.array
 +
import cv2
 +
from time import sleep
 +
import numpy as np
 +
 +
def test_gcamera(): 
 +
    cv2.namedWindow("img",0)
 +
    with picamera.PiCamera() as camera:
 +
        camera.resolution = (1920, 1080)
 +
        camera.awb_mode = 'off'
 +
        rg, bg = (1.8, 1.4)
 +
        camera.awb_gains = (rg, bg)
 +
        with picamera.array.PiRGBArray(camera) as output:
 +
            for foo in camera.capture_continuous(output, 'rgb', use_video_port=True):
 +
                img = cv2.cvtColor(output.array, cv2.COLOR_RGB2BGR)
 +
                cv2.imshow("img", img)
 +
                cv2.waitKey(1)
 +
                cv2.imwrite("test.jpg",img)
 +
                r, g, b = (np.mean(output.array[..., i]) for i in range(3))
 +
                if abs(r - g) > 2:
 +
                    if r > g:
 +
                        rg -= 0.1
 +
                    else:
 +
                        rg += 0.1
 +
                if abs(b - g) > 1:
 +
                    if b > g:
 +
                        bg -= 0.1
 +
                    else:
 +
                        bg += 0.1
 +
                camera.awb_gains = (rg, bg)
 +
                output.seek(0)
 +
                output.truncate(0)
 +
if __name__=="__main__":
 +
    test_gcamera()
 +
</pre>
 +
}}
 +
{{FAQ|What is the size of the camera?
 +
|[[File:IMX477-160 12.3MP Camera.png]]
 +
}}
  
<br />
+
{{Service00}}</div>
</div>
 
<div class="tabbertab" title="FAQ"><br /></div>
 
<div class="tabbertab" title="Support"><br />{{Service02}}</div>
 

Latest revision as of 07:53, 16 July 2022

IMX477 160 12.3MP Camera
IMX477 160 12.3MP Camera
{{{name2}}}

{{{name3}}}

{{{name4}}}

{{{name5}}}

Instruction

MIPI-CSI Camera, based on Sony IMX477 sensor, 1230M pixels. Supports Raspberry Pi Compute Module series and Jetson Nano developer Kit.

Parameter

  • Sensor
    • IMX477R
    • 12.3 million pixels: 4056(H) x 3040(V)
    • CMOS diagonal length: 7.9mm
    • Single pixel size: 1.55μm(H) x 1.55μm (V)
  • Output format: RAW12/10/8, COMP8
  • Lens standard
    • M12
  • IR filter: integrated

Specification of Lens

Lens 6mm-Wide-Angle-Lens-for-Pi-1.jpg
6mm Wide Angle Lens
16mm-Telephoto-Lens-for-Pi-1.jpg
16mm Telephoto Lens
25mm-Telephoto-Lens-for-Pi-1.jpg
25mm Telephoto Lens
35mm-Telephoto-Lens-for-Pi-1.jpg
35mm Telephoto Lens
8-50mm-Zoom-Lens-for-Pi-1.jpg
8-50mm Zoom Lens
Size 1/2" 1" 2/3" 1" 1/2.3"
F/No F1.2 F1.4-16 F1.4-16 F1.7-16 F1.4
Connector CS-mount C-mount
FoV 63° 1″ 44.6° × 33.6°
2/3″ 30.0° × 23.2°
1/1.8″ 24.7° × 18.6°
1/2″ 21.8° ×16.4°
2/3" 20.2°×15.1°
1/1.8″ 16.5°×12.4°
1/2″ 14.5°×10.5°
1″ 20.9°×15.8°
2/3″ 14.4°×10.8°
1/2″ 10.5°×7.9°
45°-5.35°
BFL 7.53mm 17.53mm
TTL - 67.53mm -
Distortion - 1″(-0.7%)
1/2″(-0.5%)
1/3″(-0.15%)
0.05% 0.35% -
M.O.D. 0.20m 0.20m 0.25m 0.30m 0.20m
Dimenstion Φ30.00 × 34.00mm Φ39.00 × 50.00mm Φ34.00×34.00mm Φ35.00×34.00mm Φ40.00×68.30mm
Aperature Manual
Weight 53g 133.7g 82g 78g 148g

Notice

IMX477 12.3MP Camera can only support Raspberry Pi Compute Module series, it cannot be used with Raspberry Pi boards like Raspberry Pi Model 4B.
IMX477 12.3MP Camera can be used with Jetson Nano Developer Kit, if you want to use it with Jetson Nano, you need to install a driver. Please backup your OS before you install the driver because the driver is not suitable for IMX219.

Test with Jetson Nano

Hardware connection

  • Connect the camera to CSI interface of Jetson Nano.Set the metal side of FFC into Heat-sink
  • Connect an HDMI LCD to Jetson Nano

Software setting

  • Power on Jetson Nano and open the Terminal (Ctrl+ALT+T)
  • Test camera with command:
DISPLAY=:0.0 gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM), width=3280, height=2464, format=(string)NV12, framerate=(fraction)20/1' ! nvoverlaysink -e
  • Test dual-camera
    • IF you want to test dual cameras with B01 Developer Kit.You can just add sensor-id=x to the pipeline. x can be 0 or 1.
#test video0
DISPLAY=:0.0 gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! 'video/x-raw(memory:NVMM), width=3280, height=2464, format=(string)NV12, framerate=(fraction)20/1' ! nvoverlaysink -e
#test video1
DISPLAY=:0.0 gst-launch-1.0 nvarguscamerasrc sensor-id=1 ! 'video/x-raw(memory:NVMM), width=3280, height=2464, format=(string)NV12, framerate=(fraction)20/1' ! nvoverlaysink -e

【Notice】

- 12 of NV12 is a number, not a letter.

- The test screen is output to HDMI or DP screen, so when testing, first connect the screen to Jetson Nano.

Test with Compute Module

The IMX219 series can be used with Compute Module series of Raspberry Pi with carriers. And the usage are same as other Raspberry Pi cameras
Becuase of the encropytoin, the IMX219 series cameras cannot be used with Raspberry Pi board like the Raspberry Pi 4B, please note it.

  • Connect the camera to Compute Module Carrier board (like Compute Module 4 PoE Board), please take care of the direction.
  • Open a terminal and configure the camera
sudo raspi-config
Select Interfacing Options -> Camera -> Yes
  • Reboot
  • Test the camera with command:
sudo raspistill -t 0
  • For more information about commands for camera, please refer to this guides:
Application guides of Raspberry Pi camera

Resources

FAQ

 Answer:
In different shooting environments, the white balance effect may not be normal. Users can adjust the white balance parameters according to the actual usage.

The following OpenCV adjustment code is for reference only. (The code is shared by RPi Camera (G) users)

import picamera
import picamera.array
import cv2
from time import sleep
import numpy as np

def test_gcamera():   
    cv2.namedWindow("img",0)
    with picamera.PiCamera() as camera:
        camera.resolution = (1920, 1080)
        camera.awb_mode = 'off'
        rg, bg = (1.8, 1.4)
        camera.awb_gains = (rg, bg)
        with picamera.array.PiRGBArray(camera) as output:
            for foo in camera.capture_continuous(output, 'rgb', use_video_port=True):
                img = cv2.cvtColor(output.array, cv2.COLOR_RGB2BGR)
                cv2.imshow("img", img)
                cv2.waitKey(1)
                cv2.imwrite("test.jpg",img)
                r, g, b = (np.mean(output.array[..., i]) for i in range(3))
                if abs(r - g) > 2:
                    if r > g:
                        rg -= 0.1
                    else:
                        rg += 0.1
                if abs(b - g) > 1:
                    if b > g:
                        bg -= 0.1
                    else:
                        bg += 0.1
                camera.awb_gains = (rg, bg)
                output.seek(0)
                output.truncate(0)
if __name__=="__main__":
    test_gcamera()
{{{3}}}
{{{4}}}

{{{5}}}


 Answer:
IMX477-160 12.3MP Camera.png
{{{3}}}
{{{4}}}

{{{5}}}



Support

If you require technical support, please go to the Support page and open a ticket.