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

From Waveshare Wiki
Jump to: navigation, search
m (Text replace - "Service00" to "Service02")
 
(20 intermediate revisions by 3 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 12: Line 11:
 
{{Product List|Modules/Cameras/Raspberry Pi Camera}}
 
{{Product List|Modules/Cameras/Raspberry Pi Camera}}
 
}}
 
}}
==Instruction==
+
=Introduction=
MIPI-CSI Camera, based on Sony IMX477 sensor, 1230M pixels. Supports Raspberry Pi Compute Module series and Jetson Nano developer Kit.
+
<!--
==Specification of Lens==
+
MIPI-CSI Camera, based on Sony IMX477 sensor, 1230M pixels. Supports Raspberry Pi Compute Module series and Jetson Nano developer Kit.-->
{|border="1" style="text-align:center; height:700px"
+
==Parameters==
|-
+
*Sensor
|style="background:#99CC33"|'''Lens'''
+
**IMX477R
|[[File:6mm-Wide-Angle-Lens-for-Pi-1.jpg|100px]] <br /> [http://{{SERVERNAME}}/shop/6mm-Wide-Angle-Lens-for-Pi.htm 6mm Wide Angle Lens]
+
**12.3 million pixels: 4056(H) x 3040(V)
|[[File:16mm-Telephoto-Lens-for-Pi-1.jpg|100px]] <br /> [http://{{SERVERNAME}}/shop/16mm-Telephoto-Lens-for-Pi.htm 16mm Telephoto Lens]
+
**CMOS diagonal length: 7.9mm
|[[File:25mm-Telephoto-Lens-for-Pi-1.jpg|100px]] <br /> [http://{{SERVERNAME}}/shop/25mm-Telephoto-Lens-for-Pi.htm 25mm Telephoto Lens]
+
**Single pixel size: 1.55μm(H) x 1.55μm (V)
|[[File:35mm-Telephoto-Lens-for-Pi-1.jpg|100px]] <br /> [http://{{SERVERNAME}}/shop/35mm-Telephoto-Lens-for-Pi.htm 35mm Telephoto Lens]
+
*Output format: RAW12/10/8, COMP8
|[[File:8-50mm-Zoom-Lens-for-Pi-1.jpg|100px]] <br /> [https://{{SERVERNAME}}/shop/8-50mm-Zoom-Lens-for-Pi.htm 8-50mm Zoom Lens]
+
*lens standard
|-
+
**M12
|style="background:#99CC33"|'''Size'''
+
*IR Filter: Integrated
|1/2"||1"||2/3"||1"||1/2.3"
+
<!--
|-
+
==Note==
|style="background:#99CC33"|'''F/No'''
+
IMX477 12.3MP Camera is currently only available for Raspberry Pi Compute Module series boards, not for Raspberry Pi boards.<br/>
|F1.2||F1.4-16||F1.4-16||F1.7-16||F1.4
+
The IMX477 12.3MP Camera can be used on Jetson Nano, and the driver needs to be installed on Jetson Nano. After installing the driver, it will interfere with the use of the original IMX219 camera. It is recommended to back up the system before installing the driver.<br/>
|-
+
*[https://github.com/RidgeRun/NVIDIA-Jetson-IMX477-RPIV3 Jetson Nano Driver Guide]
|style="background:#99CC33"|'''Connector'''
+
-->
|CS-mount
+
{{IMX477-160 12.3MP Camera Jetson Guide}}
|colspan="4"|C-mount
+
{{IMX477 RPI USE}}
|-
 
|style="background:#99CC33"|'''FoV'''
 
|63°
 
|1″      44.6° × 33.6°<br />2/3″      30.0° × 23.2°<br />1/1.8″      24.7° × 18.<br />1/2″      21.8° ×16.4°
 
|2/3"    20.2°×15.1° <br />1/1.8″ 16.5°×12.4°<br />1/2″ 14.5°×10.5°
 
|1″ 20.9°×15.8°<br />2/3″ 14.4°×10.8°<br />1/2″ 10.5°×7.9°
 
|45°-5.35°
 
|-
 
|style="background:#99CC33"|'''BFL'''
 
|7.53mm
 
|colspan="4"|17.53mm
 
|-
 
|style="background:#99CC33"|'''TTL'''
 
| -||67.53mm
 
|colspan="3"|-
 
|-
 
  
|style="background:#99CC33"|'''Distortion'''
+
=FAQ=
| -
+
{{FAQ|If the picture was taken, the white balance effect is not normal?
| 1″(-0.7%)<br />1/2″(-0.5%)<br />1/3″(-0.15%)<br />
+
|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/>
|0.05%
+
The following OpenCV adjustment code is for reference only. (The code is shared by RPi Camera (G) users)<br/>
|0.35%
 
| -
 
|-
 
|style="background:#99CC33"|'''M.O.D.'''
 
|0.20m||0.20m||0.25m||0.30m||0.20m
 
|-
 
|style="background:#99CC33"|'''Dimenstion'''
 
|Φ30.00 × 34.00mm||Φ39.00 × 50.00mm||Φ34.00×34.00mm||Φ35.00×34.00mm||Φ40.00×68.30mm
 
|-
 
|style="background:#99CC33"|'''Aperature'''
 
|colspan="5"|Manual
 
|-
 
|style="background:#99CC33"|'''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.<br />
 
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.<br />
 
*[https://github.com/RidgeRun/NVIDIA-Jetson-IMX477-RPIV3 Jetson Nano free driver by RidgeRun]
 
==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.
 
 
<pre>
 
<pre>
#test video0
+
import picamera
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
+
import picamera.array
#test video1
+
import cv2
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
+
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>
 
</pre>
==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 />
+
{{FAQ|What is the size of the camera?
Becuase of the encropytoin, the IMX219 series cameras cannot be used with Raspberry Pi board like the Raspberry Pi 4B, please note it.<br />
+
|[[File:IMX477-160 12.3MP Camera02.jpg]]
*Connect the camera to Compute Module Carrier board (like [https://www.waveshare.com/compute-module-4-poe-board.htm Compute Module 4 PoE Board]), please take care of the direction.
+
}}
*Open a terminal and configure the camera
+
{{FAQ|Can this camera module be programmed to adjust parameters such as focal length and zoom?
<pre>
+
|No.
sudo raspi-config
+
||}}
</pre>
+
{{FAQ|How many layers of PCB board is this camera module?
:Select Interfacing Options -> Camera -> Yes
+
|Four.
*Reboot
+
||}}
*Test the camera with command:
+
{{FAQ|What is the IR filter of this camera?
<pre>
+
|650nm.
sudo raspistill -t 0
+
||}}
</pre>
+
{{FAQ|After replacing the lens of this camera and adding a 650nm red filter, why does the picture glow green?
*For more information about commands for camera, please refer to this guides:
+
|This camera is not recommended to replace the lens, there is a need to buy the official HQ Camera M12 version directly, there are no other details provided.
:[https://www.raspberrypi.org/documentation/raspbian/applications/camera.md Application guides of Raspberry Pi camera]
+
||}}
 
 
</div>
 
<div class="tabbertab" title="Resources">
 
==Resources==
 
*[http://www.waveshare.com/w/upload/6/61/RPi-Camera-User-Manual.pdf User manual]
 
*[http://www.waveshare.com/w/upload/0/0d/Camera-Guide.pdf Camera Guide]
 
*[http://www.waveshare.com/w/upload/b/b4/Raspberry_Pi_High_Quality_Camera_Getting_Started.pdf Raspberry Pi High-Quality Camera Getting Started]
 
*[http://www.waveshare.com/w/upload/3/33/20200428_HQ_Camera_Technical_drawing.pdf HQ Camera Drawing]
 
*[http://www.waveshare.com/w/upload/e/e4/Typical_C-Mount_Lens_Guide.pdf C-Mount Lens Guide ]
 
*[http://www.waveshare.com/w/upload/f/f2/Typical_CS-Mount_Lens_Guide.pdf CS-Mount Lens Guide ]
 
*[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]
 
  
<br />
+
=Resources=
</div>
+
*[https://files.waveshare.com/upload/6/61/RPi-Camera-User-Manual.pdf User manual]
<div class="tabbertab" title="FAQ"><br /></div>
+
*[https://files.waveshare.com/upload/0/0d/Camera-Guide.pdf Camera Guide]
<div class="tabbertab" title="Support"><br />{{Service02}}</div>
+
*[https://files.waveshare.com/upload/b/b4/Raspberry_Pi_High_Quality_Camera_Getting_Started.pdf Raspberry Pi High Quality Camera Getting Started]
 +
*[https://files.waveshare.com/upload/3/33/20200428_HQ_Camera_Technical_drawing.pdf HQ Camera Drawing]
 +
*[https://files.waveshare.com/upload/e/e4/Typical_C-Mount_Lens_Guide.pdf C-Mount Lens Guide ]
 +
*[https://files.waveshare.com/upload/f/f2/Typical_CS-Mount_Lens_Guide.pdf CS-Mount Lens Guide ]
 +
*[https://files.waveshare.com/upload/a/ae/Rpi_DOC_HQcamera_FCC.pdf FCC]
 +
*[https://files.waveshare.com/upload/9/92/Rpi_DOC_HQcamera_CE.pdf CE]
 +
=Support=
 +
{{Servicebox1}}</div>

Latest revision as of 01:52, 20 March 2024

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

{{{name3}}}

{{{name4}}}

{{{name5}}}

Introduction

Parameters

  • 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

Jetson Nano User Guides

  • Jetpack version 4.6 and above with IMX477 camera model:

Input the following content on the terminal:

sudo /opt/nvidia/jetson-io/jetson-io.py

Select Configure Jetson Nano CSI Connector -> Configure for compatible hardware -> The setting you need.

Camera IMX219 Dual    #Set two camera interfaces as IMX219                     
Camera IMX477 Dual    #Set two camera interfaces as IMX477                     
Camera IMX477-A and IMX219-B  #Set one camera interface as IMX477, the other one as IMX219
  • Jetpack version 4.6 or below (not including Jetpack 4.6):

An additional driver is required. After installing the driver, it will affect the use of the original IMX219 camera. So it is recommended to back up your system before installing the driver. Please refer to Jetson Nano Driver Tutorial

  • Hardware connection
    • Insert the camera cable, with the metal side facing the heat sink, into the camera port on the Jetson Nano development kit.
    • Start Jetson Nano.
  • Test cameras
    • Open the terminal (Press the keyboard shortcut Ctrl+ALT+T to open the terminal), enter the following command to test the camera:
DISPLAY=:0.0 gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM), width=1920, height=1080, format=(string)NV12, framerate=(fraction)20/1' ! nvoverlaysink -e
  • Test dual cameras
    • If you need to test dual cameras, you can add sensor-id=x to select the camera. 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=1920, height=1080, 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=1920, height=1080, 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 the HDMI or DP screen, so the screen must be connected to the Jetson Nano when testing.

User Guides for Compute Module

Due to the encryption problem of the Raspberry Pi motherboard, the IMX219 series cameras cannot be used on the Raspberry Pi motherboard, and can only be used with the carrier board on the computing module. The use of IMX219 series cameras is the same as that of other Raspberry Pi cameras.

  • Connect the camera to the computing module carrier board (such as Compute Module 4 PoE Board), pay attention to the direction of the connection.
  • Open the Raspberry Pi terminal and open the camera interface.
sudo raspi-config

Select Interfacing Options -> Camera -> Yes

  • Restart Raspberry Pi
  • Test the camera
sudo raspistill -t 0

Working with Raspberry Pi

Edit the file to configure as below:

sudo nano /boot/config.txt

Change "camera_auto_detect=1" to "camera_auto_detect=0", and add "dtoverlay=imx477" at the end of the file, save it, and then reboot.
IMX477 12.4-RPI.png
Please use the command below to directly call the camera:

libcamera-hello -t 0

Note: the above test interface is output on the HDMI screen, so you need to connect the screen to the Raspberry Pi before testing.

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 Camera02.jpg
{{{3}}}
{{{4}}}

{{{5}}}





 Answer:
This camera is not recommended to replace the lens, there is a need to buy the official HQ Camera M12 version directly, there are no other details provided.

{{{5}}}


Resources

Support



Technical Support

If you need technical support or have any feedback/review, please click the Submit Now button to submit a ticket, Our support team will check and reply to you within 1 to 2 working days. Please be patient as we make every effort to help you to resolve the issue.
Working Time: 9 AM - 6 AM GMT+8 (Monday to Friday)