Difference between revisions of "IMX477 12.3MP Camera"
m (Text replacement - "{{#urlget:amazon|default}}=display" to "{{#ifeq: {{#urlget:amazon|0}}|{{#urlget:Amazon|0}}| default|}}=display") |
(→Notice) |
||
(16 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | <div class=" | + | <div class="wiki-pages jet-green-color"> |
− | |||
{{infobox item | {{infobox item | ||
|name = IMX477 12.3MP Camera | |name = IMX477 12.3MP Camera | ||
− | |img=[[File:IMX477-12.3MP-Camera-1.jpg|360px |alt=IMX477 12.3MP Camera|link=https://www.waveshare.com/imx477-12.3mp-camera.htm| IMX477 12.3MP Camera]] | + | |img=[[File:IMX477-12.3MP-Camera-1.jpg|360px |alt=IMX477 12.3MP Camera|{{Amazon_nolink|default={{#ifeq: {{#urlget:amazon|0}}|{{#urlget:Amazon|0}}| default|}}|url=link=https://www.waveshare.com/imx477-12.3mp-camera.htm}}| IMX477 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]] | ||
|{{#ifeq: {{#urlget:amazon|0}}|{{#urlget:Amazon|0}}| default|}}=display | |{{#ifeq: {{#urlget:amazon|0}}|{{#urlget:Amazon|0}}| default|}}=display | ||
Line 12: | Line 11: | ||
{{Product List|Modules/Cameras/Raspberry Pi Camera}} | {{Product List|Modules/Cameras/Raspberry Pi Camera}} | ||
}} | }} | ||
− | == | + | =Introduction= |
− | 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.--> | ||
+ | |||
+ | ==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 | ||
+ | **C-mount | ||
+ | **CS-mount (including C/CS connection ring) | ||
+ | *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 70: | Line 83: | ||
|} | |} | ||
==Notice== | ==Notice== | ||
− | IMX477 12.3MP Camera | + | IMX477 12.3MP Camera is currently only available for Raspberry Pi Compute Module series boards, not for Raspberry Pi boards.<br> |
− | |||
− | |||
− | + | IMX477 12.3MP Camera can be used with Jetson Nano and Jetson Xavier NX. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | {{IM477-Jetson-Camera-User-Guides}} | |
− | {{ | + | {{IMX477 RPI USE}} |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | <br /> | + | =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]] | ||
+ | }} | ||
+ | =Resources= | ||
+ | *[https://files.waveshare.com/upload/6/61/RPi-Camera-User-Manual.pdf User manual] | ||
+ | *[https://files.waveshare.com/upload/0/0d/Camera-Guide.pdf Camera Guide] | ||
+ | *[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:46, 20 March 2024
| ||
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
- C-mount
- CS-mount (including C/CS connection ring)
- IR filter: integrated
Specification of Lens
Lens | 6mm Wide Angle Lens |
16mm Telephoto Lens |
25mm Telephoto Lens |
35mm Telephoto Lens |
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 is currently only available for Raspberry Pi Compute Module series boards, not for Raspberry Pi boards.
IMX477 12.3MP Camera can be used with Jetson Nano and Jetson Xavier NX.
Working with Jetson Nano
- Replaces camera model IMX477 in the Jetpack version 4.6 and above.
- Input in the terminal:
sudo /opt/nvidia/jetson-io/jetson-io.py
- Select Configure Jetson Nano CSI Connector -> Configure for compatible hardware -> Select the required settings.
Camera IMX219 Dual Two camera ports set to IMX219 Camera IMX477 Dual Two camera ports set to IMX477 Camera IMX477-A and IMX219-B One camera interface is set to IMX477, the other is set to IMX219
Select Save Pin changes ->Save and reboot to reconfigure pins -> Press any keys to reboot.
- Below Jetpack version 4.6 (Jetpack 4.6 is not included):
Additional driver installation is required. After installing the driver, it will interfere with the use of the original IMX219 camera, so it is recommended to back up your system before installing the driver.
Jetson Nano driver tutorial select Save Pin changes -> Save and reboot to reconfigure pins -> press any key to reboot.
- Hardware connection
- Plug 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 the camera:
- Open the terminal (keyboard press Ctrl+ALT+T shortcut to open the terminal) and 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
- Testing 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
【Note】
- NV12's 12 is a number and not a letter.
- The test screen is output to the HDMI or DP screen, so the test should be connected to the screen of the Jetson Nano first.
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.
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
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()
{{{5}}}
Resources
- User manual
- Camera Guide
- Raspberry Pi High Quality Camera Getting Started
- HQ Camera Drawing
- C-Mount Lens Guide
- CS-Mount Lens Guide
- FCC
- CE
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)