18 November 2018

USB カメラ Logicool C270のピント(焦点距離)再調整

Logicool製USB接続Webカメラ C270の焦点距離が1m程度なので、再調整して2m〜∞に合焦するようにしてみた。

焦点距離の調整前

20181118-c270-inf.jpg
Logicool C270の風景撮影(焦点距離調整前)

明らかにピンぼけです。この機種は手動でピント調整出来ないので、如何ともしがたい…

試しに、他のWebカメラで撮影してみると

20181118-aveo-inf.jpg
Aveo Technology Web Cameraの風景撮影

手動のピント設定で、「∞」とすればこのように撮影できる。

C270の焦点距離の初期値

室内の近距離を撮影して、どれくらいの焦点距離で初期設定されているのか調べてみる

20181118-c270-1m.jpg
焦点距離 約1m

だいたいこの付近で、ピントを合わせられているようだ

20181118-c270-2m.jpg
焦点距離 約2m

2mまで離れると、ピントが合っていないのが判る。

パソコン画面付近に設置して、ユーザーの顔を撮影する(Skypeなどでビデオ会話する)のを前提で、焦点距離約1mというのは、妥当な線なのだろう。

室内・室外の風景を撮影したい私のような使い方は、この製品的には「間違っている」使い方なのかもしれない。

分解して焦点距離調整する

この機種で焦点距離について不満を持つ人は多いようで、結局、分解して無理やり焦点距離を調整しなければいけないようだ。

参考にしたWebページは
・『Logitech C270 webcam – adjustable focus
・『Logicool WEBカメラ C270のピントを調節する方法』
・『fswebcam で 定点カメラ( Web ライブカメラ )を実現する

20181118-c270-customize.jpg
Logicool C270を分解し、焦点距離を「長め」に調整する

CCD側と、レンズ・リング部分の双方に白のマジックで「合マーク」を入れてから、レンズ・リングを回して「∞」=「焦点距離長め」に調整したところ。 レンズ・リングを右(時計回り)に30度ほど回しているが、これ以上右に回すことは出来ない。ここが最長距離のようだ。

20181118-c270-inf-c1.jpg
Logicool C270の風景撮影(焦点距離調整後)

資料

USBデバイスとしての認識状況

$ lsusb
Bus 001 Device 004: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter
Bus 001 Device 005: ID 046d:0825 Logitech, Inc. Webcam C270
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. SMC9512/9514 USB Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

デバイス能力、設定値などの表示

$ v4l2-ctl --all
Driver Info (not using libv4l2):
	Driver name   : uvcvideo
	Card type     : UVC Camera (046d:0825)
	Bus info      : usb-20980000.usb-1.2
	Driver version: 4.14.34
	Capabilities  : 0x84200001
		Video Capture
		Streaming
		Extended Pix Format
		Device Capabilities
	Device Caps   : 0x04200001
		Video Capture
		Streaming
		Extended Pix Format
Priority: 2
Video input : 0 (Camera 1: ok)
Format Video Capture:
	Width/Height      : 1280/720
	Pixel Format      : 'MJPG'
	Field             : None
	Bytes per Line    : 0
	Size Image        : 816000
	Colorspace        : sRGB
	Transfer Function : Default
	YCbCr/HSV Encoding: Default
	Quantization      : Default
	Flags             : 
Crop Capability Video Capture:
	Bounds      : Left 0, Top 0, Width 1280, Height 720
	Default     : Left 0, Top 0, Width 1280, Height 720
	Pixel Aspect: 1/1
Selection: crop_default, Left 0, Top 0, Width 1280, Height 720
Selection: crop_bounds, Left 0, Top 0, Width 1280, Height 720
Streaming Parameters Video Capture:
	Capabilities     : timeperframe
	Frames per second: 30.000 (30/1)
	Read buffers     : 0
                     brightness (int)    : min=0 max=255 step=1 default=-8193 value=128
                       contrast (int)    : min=0 max=255 step=1 default=57343 value=32
                     saturation (int)    : min=0 max=255 step=1 default=57343 value=32
 white_balance_temperature_auto (bool)   : default=1 value=1
                           gain (int)    : min=0 max=255 step=1 default=57343 value=192
           power_line_frequency (menu)   : min=0 max=2 default=2 value=2
      white_balance_temperature (int)    : min=0 max=10000 step=10 default=61432 value=4760 flags=inactive
                      sharpness (int)    : min=0 max=255 step=1 default=57343 value=24
         backlight_compensation (int)    : min=0 max=1 step=1 default=57343 value=0
                  exposure_auto (menu)   : min=0 max=3 default=0 value=3
              exposure_absolute (int)    : min=1 max=10000 step=1 default=166 value=13 flags=inactive
         exposure_auto_priority (bool)   : default=0 value=1
 
$ fswebcam --list-controls
--- Opening /dev/video0...
Trying source module v4l2...
/dev/video0 opened.
No input was specified, using the first.
Available Controls        Current Value   Range
------------------        -------------   -----
Brightness                128 (50%)       0 - 255
Contrast                  32 (12%)        0 - 255
Saturation                32 (12%)        0 - 255
White Balance Temperature, Auto True            True | False
Gain                      192 (75%)       0 - 255
Power Line Frequency      60 Hz           Disabled | 50 Hz | 60 Hz
White Balance Temperature 4610 (46%)      0 - 10000
Sharpness                 24 (9%)         0 - 255
Backlight Compensation    0               0 - 1
Exposure, Auto            Aperture Priority Mode Manual Mode | Aperture Priority Mode
Exposure (Absolute)       6 (0%)          1 - 10000
Exposure, Auto Priority   True            True | False
Adjusting resolution from 384x288 to 352x288.
--- Capturing frame...
Captured frame in 0.00 seconds.
--- Processing captured image...
There are unsaved changes to the image.

画像撮影の方法

$ fswebcam -D 3 -S 20 -v -r 1280x720 test.jpg

または

$ fswebcam --delay=3 --skip=20 -v -r 1280x720 test.jpg

露出条件などの設定を行うには

$ fswebcam --delay=3 --skip=20 --set=gain=60 --set=brightness=20% -v -r 1280x720 test.jpg

シャープネス処理を切った場合

$ fswebcam --delay=3 --skip=20 --set=brightness=0 -v -r 1280x720 test.jpg

20181118-c270-inf-c2.jpg
Logicool C270の風景撮影(焦点距離調整後・シャープネス無効)