Skip to content
Snippets Groups Projects
Commit 06f1e4d7 authored by simon.fanetti's avatar simon.fanetti
Browse files

add contrasts display in GUI camera settings

parent e371e2ea
No related branches found
No related tags found
No related merge requests found
...@@ -58,6 +58,11 @@ void CameraFocus::refreshFrame(){ ...@@ -58,6 +58,11 @@ void CameraFocus::refreshFrame(){
// Preview image for the user // Preview image for the user
cv::cvtColor(rgb, gray, CV_BGR2GRAY); cv::cvtColor(rgb, gray, CV_BGR2GRAY);
gray = setup->beamer.editContrast(gray, (double)p.getContrast(), (double)p.getBrightness()); gray = setup->beamer.editContrast(gray, (double)p.getContrast(), (double)p.getBrightness());
if(displayConstrasts){
cvSobel(&gray);
}
cv::cvtColor(gray, rgbFromGray, CV_GRAY2BGR); cv::cvtColor(gray, rgbFromGray, CV_GRAY2BGR);
if(!crc.empty()){ if(!crc.empty()){
...@@ -129,3 +134,39 @@ void CameraFocus::on_btnReset_clicked() ...@@ -129,3 +134,39 @@ void CameraFocus::on_btnReset_clicked()
{ {
loadProfil(&defaultProfil, setup->beamer.getProfil()); loadProfil(&defaultProfil, setup->beamer.getProfil());
} }
void CameraFocus::on_chbxDisplayContrast_clicked()
{
displayConstrasts = ui->chbxDisplayContrast->isChecked();
}
cv::Mat* CameraFocus::cvSobel(cv::Mat *gray){
// From : https://docs.opencv.org/2.4/doc/tutorials/imgproc/imgtrans/sobel_derivatives/sobel_derivatives.html
int scale = 1;
int delta = 0;
int ddepth = CV_16S;
cv::Mat grad, src_gray = *gray;
/// Generate grad_x and grad_y
cv::Mat grad_x, grad_y;
cv::Mat abs_grad_x, abs_grad_y;
/// Gradient X
//Scharr( src_gray, grad_x, ddepth, 1, 0, scale, delta, BORDER_DEFAULT );
cv::Sobel( src_gray, grad_x, ddepth, 1, 0, 3, scale, delta, cv::BORDER_DEFAULT );
cv::convertScaleAbs( grad_x, abs_grad_x );
/// Gradient Y
//Scharr( src_gray, grad_y, ddepth, 0, 1, scale, delta, BORDER_DEFAULT );
cv::Sobel( src_gray, grad_y, ddepth, 0, 1, 3, scale, delta, cv::BORDER_DEFAULT );
cv::convertScaleAbs( grad_y, abs_grad_y );
/// Total Gradient (approximate)
cv::addWeighted( abs_grad_x, 0.5, abs_grad_y, 0.5, 0, grad );
grad.copyTo(*gray);
return gray;
}
...@@ -36,16 +36,20 @@ private slots: ...@@ -36,16 +36,20 @@ private slots:
void on_btnReset_clicked(); void on_btnReset_clicked();
void on_chbxDisplayContrast_clicked();
private: private:
Ui::CameraFocus *ui; Ui::CameraFocus *ui;
SandboxSetup *setup; SandboxSetup *setup;
bool state = false; bool state = false;
QTimer *frameTimer; QTimer *frameTimer;
FrameProcessProfil defaultProfil; FrameProcessProfil defaultProfil;
bool displayConstrasts = false;
void refreshFrame(); void refreshFrame();
void loadProfil(FrameProcessProfil *profilLoaded, FrameProcessProfil *profilSaved); void loadProfil(FrameProcessProfil *profilLoaded, FrameProcessProfil *profilSaved);
void initCameraParams(); void initCameraParams();
cv::Mat* cvSobel(cv::Mat *gray);
}; };
#endif // CAMERAFOCUS_H #endif // CAMERAFOCUS_H
...@@ -160,6 +160,19 @@ ...@@ -160,6 +160,19 @@
<string>Reset</string> <string>Reset</string>
</property> </property>
</widget> </widget>
<widget class="QCheckBox" name="chbxDisplayContrast">
<property name="geometry">
<rect>
<x>80</x>
<y>30</y>
<width>131</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>Show Contrasts</string>
</property>
</widget>
</widget> </widget>
<resources/> <resources/>
<connections> <connections>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment