mirror of
https://github.com/jomjol/AI-on-the-edge-device.git
synced 2025-12-11 22:16:56 +03:00
Add support for OV5640 camera (#3063)
* Add support for OV5640 camera * clean up sharpness handling * limit sharpness range to -2 and +2 * refactor * Fix OV3660 sharpness handling * refactor sharpness handling * fix OV3660 zoom mode * reinstate aspect ratio via imageSize * Changed OV5640 full frame size to match datasheet * various fixes * add denoise config and general clean up * fix line endings to LF * Support enabling red blue swap via web interface * update jpeg quality limits * remove color swap config; color swap workaround dependent on vflip * fix missing commit * fix gain ceiling * Update cam vflip param page * fix typo: camdenoise, not camsdenoise * fix compile errors
This commit is contained in:
@@ -375,8 +375,8 @@
|
||||
<class id="TakeImage_CamSharpness_text" style="color:black;">Sharpness</class>
|
||||
</td>
|
||||
<td>
|
||||
<input required type="number" id="TakeImage_CamSharpness_value1" size="13" min="-2" max="2" onchange="cameraParameterChanged()"
|
||||
oninput="(!validity.rangeUnderflow||(value=-2)) && (!validity.rangeOverflow||(value=2)) && (!validity.stepMismatch||(value=parseInt(this.value)));">
|
||||
<input required type="number" id="TakeImage_CamSharpness_value1" size="13" min="-3" max="3" onchange="cameraParameterChanged()"
|
||||
oninput="(!validity.rangeUnderflow||(value=-3)) && (!validity.rangeOverflow||(value=3)) && (!validity.stepMismatch||(value=parseInt(this.value)));">
|
||||
</td>
|
||||
<td>$TOOLTIP_TakeImage_CamSharpness</td>
|
||||
</tr>
|
||||
@@ -472,8 +472,8 @@
|
||||
<class id="TakeImage_CamAeLevel_text" style="color:black;">Auto Exposure Level</class>
|
||||
</td>
|
||||
<td>
|
||||
<input required type="number" id="TakeImage_CamAeLevel_value1" size="13" min="-2" max="2" onchange="cameraParameterChanged()"
|
||||
oninput="(!validity.rangeUnderflow||(value=-2)) && (!validity.rangeOverflow||(value=2)) && (!validity.stepMismatch||(value=parseInt(this.value)));">
|
||||
<input required type="number" id="TakeImage_CamAeLevel_value1" size="13" min="-5" max="5" onchange="cameraParameterChanged()"
|
||||
oninput="(!validity.rangeUnderflow||(value=-5)) && (!validity.rangeOverflow||(value=5)) && (!validity.stepMismatch||(value=parseInt(this.value)));">
|
||||
</td>
|
||||
<td>$TOOLTIP_TakeImage_CamAeLevel</td>
|
||||
</tr>
|
||||
@@ -605,6 +605,17 @@
|
||||
<td>$TOOLTIP_TakeImage_CamDcw</td>
|
||||
</tr>
|
||||
|
||||
<tr class="expert" unused_id="TakeImage_CamDenoise_ex3">
|
||||
<td class="indent1">
|
||||
<class id="TakeImage_CamDenoise_text" style="color:black;">Denoise</class>
|
||||
</td>
|
||||
<td>
|
||||
<input required type="number" id="TakeImage_CamDenoise_value1" value="0" min="0" max="8" step="1" onchange="cameraParameterChanged()"
|
||||
oninput="(!validity.rangeOverflow||(value=8)) && (!validity.rangeUnderflow||(value=0)) && (!validity.stepMismatch||(value=parseInt(this.value)));">
|
||||
</td>
|
||||
<td>$TOOLTIP_TakeImage_CamDenoise</td>
|
||||
</tr>
|
||||
|
||||
<tr class="expert" unused_id="TakeImage_CamZoom_ex3">
|
||||
<td class="indent1">
|
||||
<class id="TakeImage_CamZoom_text" style="color:black;">Zoom</class>
|
||||
@@ -623,8 +634,8 @@
|
||||
<class id="TakeImage_CamZoomSize_text" style="color:black;">Zoom Size</class>
|
||||
</td>
|
||||
<td>
|
||||
<input required type="number" id="TakeImage_CamZoomSize_value1" value="0" min="0" max="29" step="1" onchange="cameraParameterChanged()"
|
||||
oninput="(!validity.rangeOverflow||(value=29)) && (!validity.rangeUnderflow||(value=0)) && (!validity.stepMismatch||(value=parseInt(this.value)));">
|
||||
<input required type="number" id="TakeImage_CamZoomSize_value1" value="0" min="0" max="59" step="1" onchange="cameraParameterChanged()"
|
||||
oninput="(!validity.rangeOverflow||(value=59)) && (!validity.rangeUnderflow||(value=0)) && (!validity.stepMismatch||(value=parseInt(this.value)));">
|
||||
</td>
|
||||
<td>$TOOLTIP_TakeImage_CamZoomSize</td>
|
||||
</tr>
|
||||
@@ -634,8 +645,8 @@
|
||||
<class id="TakeImage_CamZoomOffsetX_text" style="color:black;">Zoom Offset X</class>
|
||||
</td>
|
||||
<td>
|
||||
<input required type="number" id="TakeImage_CamZoomOffsetX_value1" value="0" min="-480" max="480" step="8" onchange="cameraParameterChanged()"
|
||||
oninput="(!validity.rangeOverflow||(value=480)) && (!validity.rangeUnderflow||(value=-480)) && (!validity.stepMismatch||(value=parseInt(this.value)));">Pixel
|
||||
<input required type="number" id="TakeImage_CamZoomOffsetX_value1" value="0" min="-960" max="960" step="8" onchange="cameraParameterChanged()"
|
||||
oninput="(!validity.rangeOverflow||(value=960)) && (!validity.rangeUnderflow||(value=-960)) && (!validity.stepMismatch||(value=parseInt(this.value)));">Pixel
|
||||
</td>
|
||||
<td>$TOOLTIP_TakeImage_CamZoomOffsetX</td>
|
||||
</tr>
|
||||
@@ -645,11 +656,11 @@
|
||||
<class id="TakeImage_CamZoomOffsetY_text" style="color:black;">Zoom Offset Y</class>
|
||||
</td>
|
||||
<td>
|
||||
<input required type="number" id="TakeImage_CamZoomOffsetY_value1" value="0" min="-360" max="360" step="8" onchange="cameraParameterChanged()"
|
||||
oninput="(!validity.rangeOverflow||(value=360)) && (!validity.rangeUnderflow||(value=-360)) && (!validity.stepMismatch||(value=parseInt(this.value)));">Pixel
|
||||
<input required type="number" id="TakeImage_CamZoomOffsetY_value1" value="0" min="-720" max="720" step="8" onchange="cameraParameterChanged()"
|
||||
oninput="(!validity.rangeOverflow||(value=720)) && (!validity.rangeUnderflow||(value=-720)) && (!validity.stepMismatch||(value=parseInt(this.value)));">Pixel
|
||||
</td>
|
||||
<td>$TOOLTIP_TakeImage_CamZoomOffsetY</td>
|
||||
</tr>
|
||||
</tr>
|
||||
|
||||
<tr unused_id="TakeImage_LEDIntensity_ex3">
|
||||
<td class="indent1">
|
||||
@@ -2231,6 +2242,7 @@ function UpdateInput() {
|
||||
WriteParameter(param, category, "TakeImage", "CamHmirror", false);
|
||||
WriteParameter(param, category, "TakeImage", "CamVflip", false);
|
||||
WriteParameter(param, category, "TakeImage", "CamDcw", false);
|
||||
WriteParameter(param, category, "TakeImage", "CamDenoise", false);
|
||||
WriteParameter(param, category, "TakeImage", "CamZoom", false);
|
||||
WriteParameter(param, category, "TakeImage", "CamZoomOffsetX", false);
|
||||
WriteParameter(param, category, "TakeImage", "CamZoomOffsetY", false);
|
||||
@@ -2368,7 +2380,7 @@ function ReadParameterAll() {
|
||||
|
||||
ReadParameter(param, "TakeImage", "RawImagesLocation", true);
|
||||
ReadParameter(param, "TakeImage", "RawImagesRetention", true);
|
||||
ReadParameter(param, "TakeImage", "WaitBeforeTakingPicture", false);
|
||||
ReadParameter(param, "TakeImage", "WaitBeforeTakingPicture", false);
|
||||
ReadParameter(param, "TakeImage", "CamGainceiling", false);
|
||||
ReadParameter(param, "TakeImage", "CamQuality", false);
|
||||
ReadParameter(param, "TakeImage", "CamBrightness", false);
|
||||
@@ -2392,7 +2404,8 @@ function ReadParameterAll() {
|
||||
ReadParameter(param, "TakeImage", "CamLenc", false);
|
||||
ReadParameter(param, "TakeImage", "CamHmirror", false);
|
||||
ReadParameter(param, "TakeImage", "CamVflip", false);
|
||||
ReadParameter(param, "TakeImage", "CamDcw", false);
|
||||
ReadParameter(param, "TakeImage", "CamDcw", false);
|
||||
ReadParameter(param, "TakeImage", "CamDenoise", false);
|
||||
ReadParameter(param, "TakeImage", "CamZoom", false);
|
||||
ReadParameter(param, "TakeImage", "CamZoomOffsetX", false);
|
||||
ReadParameter(param, "TakeImage", "CamZoomOffsetY", false);
|
||||
@@ -2582,6 +2595,8 @@ function camSettingsSet(){
|
||||
document.getElementById("overlaytext").innerHTML = "Save Cam Settings...";
|
||||
|
||||
var _waitb_temp = document.getElementById("TakeImage_WaitBeforeTakingPicture_value1").value;
|
||||
|
||||
var _aecgc_temp = document.getElementById("TakeImage_CamGainceiling_value1").selectedIndex;
|
||||
var _qual_temp = document.getElementById("TakeImage_CamQuality_value1").value;
|
||||
|
||||
var _bri_temp = document.getElementById("TakeImage_CamBrightness_value1").value;
|
||||
@@ -2699,10 +2714,12 @@ function camSettingsSet(){
|
||||
}
|
||||
else {
|
||||
_dcw_temp = '0';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
var _denoise_temp = document.getElementById("TakeImage_CamDenoise_value1").value;
|
||||
|
||||
var _ledi_temp = document.getElementById("TakeImage_LEDIntensity_value1").value;
|
||||
|
||||
|
||||
var _zoom_temp = document.getElementById("TakeImage_CamZoom_value1").selectedIndex;
|
||||
if (_zoom_temp == '0') {
|
||||
_zoom_temp = '1';
|
||||
@@ -2710,14 +2727,14 @@ function camSettingsSet(){
|
||||
else {
|
||||
_zoom_temp = '0';
|
||||
}
|
||||
|
||||
|
||||
var _zoomx_temp = document.getElementById("TakeImage_CamZoomOffsetX_value1").value;
|
||||
var _zoomy_temp = document.getElementById("TakeImage_CamZoomOffsetY_value1").value;
|
||||
var _zooms_temp = document.getElementById("TakeImage_CamZoomSize_value1").value;
|
||||
|
||||
// bei einmal Alles senden kommt es zu problemen!!!!!!!!!!!!!!!!!!!!
|
||||
var url_1 = domainname + "/editflow?task=cam_settings";
|
||||
url_1 = url_1 + "&waitb=" + _waitb_temp + "&qual=" + _qual_temp;
|
||||
url_1 = url_1 + "&waitb=" + _waitb_temp + "&aecgc=" + _aecgc_temp + "&qual=" + _qual_temp;
|
||||
url_1 = url_1 + "&bri=" + _bri_temp + "&con=" + _con_temp + "&sat=" + _sat_temp + "&shp=" + _shp_temp + "&ashp=" + _ashp_temp;
|
||||
url_1 = url_1 + "&spe=" + _spe_temp + "&wbm=" + _wbm_temp + "&awb=" + _awb_temp + "&awbg=" + _awbg_temp;
|
||||
url_1 = url_1 + "&aec=" + _aec_temp + "&aec2=" + _aec2_temp + "&ael=" + _ael_temp + "&aecv=" + _aecv_temp;
|
||||
@@ -2725,7 +2742,7 @@ function camSettingsSet(){
|
||||
var url_2 = domainname + "/editflow?task=cam_settings";
|
||||
url_2 = url_2 + "&agc=" + _agc_temp + "&agcg=" + _agcg_temp + "&bpc=" + _bpc_temp + "&wpc=" + _wpc_temp;
|
||||
url_2 = url_2 + "&rgma=" + _rgma_temp + "&lenc=" + _lenc_temp + "&mirror=" + _mirror_temp + "&flip=" + _flip_temp;
|
||||
url_2 = url_2 + "&dcw=" + _dcw_temp + "&ledi=" + _ledi_temp;
|
||||
url_2 = url_2 + "&dcw=" + _dcw_temp + "&den=" + _denoise_temp + "&ledi=" + _ledi_temp;
|
||||
|
||||
if (_zoom_temp != '0') {
|
||||
url_2 = url_2 + "&zoom=" + _zoom_temp + "&zooms=" + _zooms_temp;
|
||||
|
||||
Reference in New Issue
Block a user