{ "cells": [ { "cell_type": "markdown", "id": "5fbc4950", "metadata": {}, "source": [ "\n", "*This notebook contains material from [cbe61622](https://jckantor.github.io/cbe61622);\n", "content is available [on Github](https://github.com/jckantor/cbe61622.git).*\n" ] }, { "cell_type": "markdown", "id": "969d2974", "metadata": {}, "source": [ "\n", "< [10.0 Computer Vision](https://jckantor.github.io/cbe61622/10.00-Computer-Vision.html) | [Contents](toc.html) | [10.2 Machine Vision Applications](https://jckantor.github.io/cbe61622/10.02-Machine-Vision.html) >
"
]
},
{
"cell_type": "markdown",
"id": "174eb6d5-440f-4d94-9e9a-91c3ac45ac1b",
"metadata": {
"nbpages": {
"level": 1,
"link": "[10.1 Image Capture](https://jckantor.github.io/cbe61622/10.01-rpi-image-capture.html#10.1-Image-Capture)",
"section": "10.1 Image Capture"
}
},
"source": [
"# 10.1 Image Capture\n",
"\n",
"> Great minds discuss ideas; average minds discuss events; small minds discuss people.\n",
">\n",
"> *Eleanor Roosevelt*\n",
"\n",
"Let's get the ideas in order before discussing equipment and processes.\n",
"\n",
""
]
},
{
"cell_type": "markdown",
"id": "33e1545f-453d-4279-87d8-3aacc360a47a",
"metadata": {
"nbpages": {
"level": 2,
"link": "[10.1.1 References](https://jckantor.github.io/cbe61622/10.01-rpi-image-capture.html#10.1.1-References)",
"section": "10.1.1 References"
}
},
"source": [
"## 10.1.1 References\n",
"\n",
"Main Reference\n",
"\n",
"* Miikki, K; Karakoc, A. et al. An open-source camera system for experimental measurements, SoftwareX, 2021, 14, 100688 (freely accessible @ https://www.sciencedirect.com/science/article/pii/S2352711021000339#appA)
Also see [rpi-camera github repository](https://github.com/kmiikki/rpi-camera).\n",
"\n",
"Secondary References\n",
"\n",
"* Wilkes, Thomas C., et al. \"Ultraviolet imaging with low cost smartphone sensors: Development and application of a raspberry Pi-based UV camera.\" Sensors 16.10 (2016): 1649. (https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5087437/) [pdf](https://core.ac.uk/download/pdf/46565912.pdf)\n",
"\n",
"* Deep Ultraviolet Imaging Using the Raspberry Pi HQ Camera [Steropi Blog](https://stereopi.com/blog/deep-ultraviolet-imaging-using-raspberry-pi-hq-camera)\n",
"\n",
"* Raspberry Pi Documentation: Camera (https://www.raspberrypi.com/documentation/accessories/camera.html)\n",
"\n",
"* [Giving Linux a Camera Stack: libcamera's 3 Years Journey and Exciting Future](https://youtu.be/r8ByyJzSKG8) (YouTube video)\n"
]
},
{
"cell_type": "markdown",
"id": "95debf1e-ab70-48b6-8931-372d732b03e1",
"metadata": {
"nbpages": {
"level": 2,
"link": "[10.1.2 Light](https://jckantor.github.io/cbe61622/10.01-rpi-image-capture.html#10.1.2-Light)",
"section": "10.1.2 Light"
}
},
"source": [
"## 10.1.2 Light\n",
"\n",
"Radiometry vs Photometry\n",
"\n",
"* **Radiometry**: Measuring light in any portion of the electromagnetic spectrum, typically infrared, visible, ultraviolet\n",
"* **Photometry**: Measuring light in units weighted by sensitivity of the human eye.\n",
"\n",
"SI Units for Photometry\n",
"\n",
"* Candela (cd): SI unit of luminous intensity\n",
"* Luminous power per unit solid angle emitted by a point light source. 1 cd = 1 lumen/SR\n",
"* 1 candela is approximately equal to light emitted by a common wax candle\n",
"* Luminous intensity is weighted to match human perception.\n",
"\n",
"More on Lumens, Lux, and Nits: https://www.konicaminolta.com/instruments/knowledge/light/concepts/04.html\n"
]
},
{
"cell_type": "markdown",
"id": "4a9cd6df-8bc4-454b-9cd9-69f6192e68fc",
"metadata": {
"nbpages": {
"level": 2,
"link": "[10.1.3 Perception](https://jckantor.github.io/cbe61622/10.01-rpi-image-capture.html#10.1.3-Perception)",
"section": "10.1.3 Perception"
}
},
"source": [
"## 10.1.3 Perception\n",
"\n",
"https://www.olympus-lifescience.com/en/microscope-resource/primer/lightandcolor/humanvisionintro/\n",
"\n",
"\n",
" \n",
"\n",
"\n",
"* Human Perception\n",
"\n",
"https://www.olympus-lifescience.com/en/microscope-resource/primer/lightandcolor/humanvisionintro/\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"\n",
" \n",
"* Representing images\n",
" * Gamma\n",
" * RGB, CYMK, YUV, etc\n",
" * Color spaces\n",
" * Color management and calibration\n",
" * Gamma\n",
" * Histograms\n",
" "
]
},
{
"cell_type": "markdown",
"id": "24460870-7e65-45c5-bcbf-11b0fbf9c62b",
"metadata": {
"nbpages": {
"level": 3,
"link": "[10.1.3.1 Color Gamut](https://jckantor.github.io/cbe61622/10.01-rpi-image-capture.html#10.1.3.1-Color-Gamut)",
"section": "10.1.3.1 Color Gamut"
}
},
"source": [
"### 10.1.3.1 Color Gamut\n",
"\n",
""
]
},
{
"cell_type": "markdown",
"id": "d6a949cb-6ce2-4490-8b9e-dbffe5db404e",
"metadata": {
"nbpages": {
"level": 3,
"link": "[10.1.3.2 Lens and Aperture](https://jckantor.github.io/cbe61622/10.01-rpi-image-capture.html#10.1.3.2-Lens-and-Aperture)",
"section": "10.1.3.2 Lens and Aperture"
}
},
"source": [
"### 10.1.3.2 Lens and Aperture\n",
"\n",
"#### Etendue\n",
"* Property of light in an optical system\n",
"* Area of the entrance pupil times solid angle the source subtends viewed from the pupil\n",
"* Etendue is like entropy, always increases in an optical system\n",
"\n",
"#### Simple Lenses\n",
"https://en.wikipedia.org/wiki/Lens\n",
"\n",
"* Simple lenses\n",
"* Focal length, refraction, and the Lensmaker's equation\n",
"* Real and Virtual image\n",
"* Magnification\n",
"* Abberations\n",
" \n",
"#### Complex lenses\n",
" \n",
"* microscopes (https://www.ccmr.cornell.edu/wp-content/uploads/sites/2/2018/03/Reading_-How-do-the-lenses-in-a-microscope-work_.pdf) \n",
" \n",
"* 4f systems and fourier optics\n",
"* telecentric lenses\n",
"* epi-lighting schemes"
]
},
{
"cell_type": "markdown",
"id": "aee1f52f-6d46-433e-8800-ce8e72e1fa11",
"metadata": {
"nbpages": {
"level": 3,
"link": "[10.1.3.3 Sensor](https://jckantor.github.io/cbe61622/10.01-rpi-image-capture.html#10.1.3.3-Sensor)",
"section": "10.1.3.3 Sensor"
}
},
"source": [
"### 10.1.3.3 Sensor\n",
"\n",
"\n",
"\n",
"IR/UV/Anti-Aliasing/Microlens/Color Filter Array\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"* Sensor 2. Electronics\n",
" * [OV5642 Data Sheet](https://www.uctronics.com/download/cam_module/OV5642DS.pdf)\n",
" \n",
" * [IMX477 Data Sheet](https://www.arducam.com/sony/imx477/)\n",
" \n"
]
},
{
"cell_type": "markdown",
"id": "203e90b7-e4a2-4f2e-8aa3-390e6b5df23e",
"metadata": {
"nbpages": {
"level": 3,
"link": "[10.1.3.4 Camera as a System](https://jckantor.github.io/cbe61622/10.01-rpi-image-capture.html#10.1.3.4-Camera-as-a-System)",
"section": "10.1.3.4 Camera as a System"
}
},
"source": [
"### 10.1.3.4 Camera as a System\n",
"\n",
"* Feedback\n",
" * Exposure control\n",
" * Automatic white balance\n",
" * Autofocus\n",
" \n",
"* Equivalence\n",
"\n",
"\n",
"\n",
""
]
},
{
"cell_type": "markdown",
"id": "a4aa3a43-b387-4e1c-85cf-bdedc3634c64",
"metadata": {
"nbpages": {
"level": 2,
"link": "[10.1.4 Software Tools](https://jckantor.github.io/cbe61622/10.01-rpi-image-capture.html#10.1.4-Software-Tools)",
"section": "10.1.4 Software Tools"
}
},
"source": [
"## 10.1.4 Software Tools\n",
"\n",
"* libcamera + qcam\n",
"* OpenCV\n",
"* RawTherapee ``sudo apt-get install rawtherapee``\n",
"* imageio\n",
"* ImageJ"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "5be3b06d-e42a-4a10-91e3-7dc93b623205",
"metadata": {
"nbpages": {
"level": 2,
"link": "[10.1.4 Software Tools](https://jckantor.github.io/cbe61622/10.01-rpi-image-capture.html#10.1.4-Software-Tools)",
"section": "10.1.4 Software Tools"
}
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"id": "f6300de8",
"metadata": {},
"source": [
"\n",
"< [10.0 Computer Vision](https://jckantor.github.io/cbe61622/10.00-Computer-Vision.html) | [Contents](toc.html) | [10.2 Machine Vision Applications](https://jckantor.github.io/cbe61622/10.02-Machine-Vision.html) >
"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.12"
}
},
"nbformat": 4,
"nbformat_minor": 5
}