Имеется камера с матрицей OV5647 (https://cdn.sparkfun.com/datasheets/Dev/RaspberryPi/ov5647_full.pdf) и вот таким объективом
Снимок экрана от 2025-03-31 23-10-18.png
Она будет использоваться для слежения за процессом 3D печати. Но с данным объективом для получения нужного угла обзора...
Снимок экрана от 2025-03-31 22-49-54.png
...камеру приходится относить за границы рамы принтера.
5429280945447498170.jpg
А хотелось бы закрепить где-то здесь.
5429280945447498169.jpg
С текущим объективом картинка получается вот такая.
Снимок экрана от 2025-03-31 22-51-19.png
Можно ли это решить сменой объектива пусть даже с искажением пропорций картинки?
Китайцы продают кучу разных объективов, но я не компетентен в вопросе:
https://aliexpress.ru/item/32708193605.html
https://aliexpress.ru/item/32866368475.html
https://aliexpress.ru/item/32821012062.html
https://aliexpress.ru/item/1005008340258259.html
https://aliexpress.ru/item/1005005308887358.html
https://aliexpress.ru/item/4000805065096.html
З.Ы. на качество картинки с камеры прошу не обращать внимания я просто возился с
параметрами которые можно покрутить
[cam 1]
[03/31/25 22:52:42] crowsnest: mode: camera-streamer
[03/31/25 22:52:42] crowsnest: enable_rtsp: false
[03/31/25 22:52:42] crowsnest: rtsp_port: 8554
[03/31/25 22:52:42] crowsnest: port: 8080
[03/31/25 22:52:42] crowsnest: device: /base/soc/i2c0mux/i2c@1/ov5647@36
[03/31/25 22:52:42] crowsnest: resolution: 1920x1080
[03/31/25 22:52:42] crowsnest: max_fps: 30
[03/31/25 22:52:42] crowsnest: custom_flags: --camera-height=1944 --camera-width=2592 --camera-video.height=720 --camera-snapshot.height=1944 --camera-type=libcamera --camera-format=H264
[03/31/25 22:52:42] crowsnest: v4l2ctl: ColourTemperature=5000
[03/31/25 22:52:42] crowsnest:
[03/31/25 22:52:42] crowsnest:
[03/31/25 22:52:42] crowsnest:
[03/31/25 22:52:42] crowsnest: INFO: Detect available Devices
[03/31/25 22:52:43] crowsnest: INFO: Found 1 total available Device(s)
[03/31/25 22:52:43] crowsnest: Detected 'libcamera' device -> /base/soc/i2c0mux/i2c@1/ov5647@36
[03/31/25 22:52:43] crowsnest: 'libcamera' device(s) resolution(s) :
[03/31/25 22:52:43] crowsnest: 0 : ov5647 [2592x1944 10-bit GBRG] (/base/soc/i2c0mux/i2c@1/ov5647@36)
[03/31/25 22:52:43] crowsnest: Colorspace: 'SGBRG10_CSI2P' : 640x480 [58.92 fps - (16, 0)/2560x1920 crop]
[03/31/25 22:52:43] crowsnest: 1296x972 [46.34 fps - (0, 0)/2592x1944 crop]
[03/31/25 22:52:43] crowsnest: 1920x1080 [32.81 fps - (348, 434)/1928x1080 crop]
[03/31/25 22:52:43] crowsnest: 2592x1944 [15.63 fps - (0, 0)/2592x1944 crop]
[03/31/25 22:52:43] crowsnest:
[03/31/25 22:52:43] crowsnest: 'libcamera' device controls :
[03/31/25 22:52:43] crowsnest: NoiseReductionMode (Integer32): min=0 max=4
[03/31/25 22:52:43] crowsnest: 0: Off
[03/31/25 22:52:43] crowsnest: 1: Fast
[03/31/25 22:52:43] crowsnest: 2: HighQuality
[03/31/25 22:52:43] crowsnest: 3: Minimal
[03/31/25 22:52:43] crowsnest: 4: ZSL
[03/31/25 22:52:43] crowsnest: Sharpness (Float): min=0.000000 max=16.000000
[03/31/25 22:52:43] crowsnest: StatsOutputEnable (00004e21, Bool): min=false max=true
[03/31/25 22:52:43] crowsnest: Brightness (Float): min=-1.000000 max=1.000000
[03/31/25 22:52:43] crowsnest: FrameDurationLimits (Integer64): min=30483 max=3067365
[03/31/25 22:52:43] crowsnest: CnnEnableInputTensor (00004e27, Bool): min=false max=true
[03/31/25 22:52:43] crowsnest: AeConstraintMode (Integer32): min=0 max=3
[03/31/25 22:52:43] crowsnest: 0: Normal
[03/31/25 22:52:43] crowsnest: 1: Highlight
[03/31/25 22:52:43] crowsnest: 2: Shadows
[03/31/25 22:52:43] crowsnest: 3: Custom
[03/31/25 22:52:43] crowsnest: Saturation (Float): min=0.000000 max=32.000000
[03/31/25 22:52:43] crowsnest: ColourTemperature (Integer32): min=100 max=100000
[03/31/25 22:52:43] crowsnest: AwbMode (Integer32): min=0 max=7
[03/31/25 22:52:43] crowsnest: 0: Auto
[03/31/25 22:52:43] crowsnest: 1: Incandescent
[03/31/25 22:52:43] crowsnest: 2: Tungsten
[03/31/25 22:52:43] crowsnest: 3: Fluorescent
[03/31/25 22:52:43] crowsnest: 4: Indoor
[03/31/25 22:52:43] crowsnest: 5: Daylight
[03/31/25 22:52:43] crowsnest: 6: Cloudy
[03/31/25 22:52:43] crowsnest: 7: Custom
[03/31/25 22:52:43] crowsnest: ColourGains (Float): min=0.000000 max=32.000000
[03/31/25 22:52:43] crowsnest: AwbEnable (Bool): min=false max=true
[03/31/25 22:52:43] crowsnest: HdrMode (Integer32): min=0 max=4
[03/31/25 22:52:43] crowsnest: 0
[03/31/25 22:52:43] crowsnest: 1
[03/31/25 22:52:43] crowsnest: 2
[03/31/25 22:52:43] crowsnest: 3
[03/31/25 22:52:43] crowsnest: 4
[03/31/25 22:52:43] crowsnest: AeMeteringMode (Integer32): min=0 max=3
[03/31/25 22:52:43] crowsnest: 0: CentreWeighted
[03/31/25 22:52:43] crowsnest: 1: Spot
[03/31/25 22:52:43] crowsnest: 2: Matrix
[03/31/25 22:52:43] crowsnest: 3: Custom
[03/31/25 22:52:43] crowsnest: Contrast (Float): min=0.000000 max=32.000000
[03/31/25 22:52:43] crowsnest: ExposureValue (Float): min=-8.000000 max=8.000000
[03/31/25 22:52:43] crowsnest: SyncFrames (00004e2e, Integer32): min=1 max=1000000
[03/31/25 22:52:43] crowsnest: AnalogueGain (Float): min=1.000000 max=63.937500
[03/31/25 22:52:43] crowsnest: AeFlickerPeriod (Integer32): min=100 max=1000000
[03/31/25 22:52:43] crowsnest: AeEnable (Bool): min=false max=true
[03/31/25 22:52:43] crowsnest: SyncMode (00004e2b, Integer32): min=0 max=2
[03/31/25 22:52:43] crowsnest: 0
[03/31/25 22:52:43] crowsnest: 1
[03/31/25 22:52:43] crowsnest: 2
[03/31/25 22:52:43] crowsnest: AeExposureMode (Integer32): min=0 max=3
[03/31/25 22:52:43] crowsnest: 0: Normal
[03/31/25 22:52:43] crowsnest: 1: Short
[03/31/25 22:52:43] crowsnest: 2: Long
[03/31/25 22:52:43] crowsnest: 3: Custom
[03/31/25 22:52:43] crowsnest: AeFlickerMode (Integer32): min=0 max=1
[03/31/25 22:52:43] crowsnest: ExposureTime (Integer32): min=110 max=3066979
[03/31/25 22:52:44] crowsnest:
и не привёл к исходному виду, по дефолту изображение вполне приличное.
По-идее, надо подбирать объектив с более коротким фокусным расстоянием.
У тебя фокусное прямо на нём написано - 3,6 мм. Значит, можно взять миллиметра два, а может и того меньше.
Но у короткофокусных будет другая беда - подушкообразные искажения и виньетирование. Если пофиг - пробовать.