Skip to content

Commit 9702557

Browse files
committed
Now adapted to Qt6.
Squashed commit of the following: commit e6d8d53 Author: Kapandaria <[email protected]> Date: Thu Feb 27 10:14:39 2025 +0200 Update stereomaker.cpp Scaling with keep aspect ratio probably made the height as zero. commit 94a1123 Author: Kapandaria <[email protected]> Date: Sun Feb 16 14:49:03 2025 +0200 Update stereomaker.cpp commit 5368dd7 Author: Kapandaria <[email protected]> Date: Sun Feb 16 14:01:45 2025 +0200 Update stereomaker.cpp commit 169ad02 Author: Kapandaria <[email protected]> Date: Sun Feb 16 13:55:40 2025 +0200 Update stereomaker.h
1 parent 1400662 commit 9702557

6 files changed

+29
-19
lines changed

.gitignore

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,8 @@
1-
1+
*.o
2+
moc_*.cpp
3+
moc_predefs.h
4+
ui_*.h
5+
qrc_*.cpp
6+
Makefile
7+
*.pro.user.*
28
*.user

mainwindow.cpp

+3-6
Original file line numberDiff line numberDiff line change
@@ -85,15 +85,12 @@ void MainWindow::on_renderButton_clicked()
8585
depth_image.invertPixels();
8686
const QImage *eye_helper_left=0;
8787
const QImage *eye_helper_right=0;
88-
bool show_helpers=false;
89-
bool margin_helpers = false;
88+
bool show_helpers = ui->show_helpers->isChecked();
89+
bool margin_helpers = show_helpers && ui->margin_helpers->isChecked();
9090
QImage eye_helper_image_left=ui->helpers_image->getImage();
9191
QImage eye_helper_image_right;
92-
if (ui->show_helpers->isChecked())
92+
if (show_helpers)
9393
{
94-
show_helpers=true;
95-
margin_helpers = ui->margin_helpers->isChecked();
96-
if (ui->show_helpers->isChecked())
9794
if(!eye_helper_image_left.isNull())
9895
{
9996
if (ui->dual_helpers->isChecked())

model3d.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#include <OpenGL/gl.h>
55
#include <qopenglext.h>
66
#else
7-
#include "qgl.h"
7+
#include <qopengl.h>
88
#endif
99
#include <stdio.h>
1010
#include <math.h>

stereograma.pro

+3-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#
55
#-------------------------------------------------
66

7-
QT += core gui network opengl widgets
7+
QT += core gui network openglwidgets
88

99
TARGET = stereograma
1010
TEMPLATE = app
@@ -14,6 +14,8 @@ win32:LIBS += -lGLU32 -lOpengl32
1414
win32:RC_FILE = icon_res.rc
1515
win32:QMAKE_CXXFLAGS += -Wa,-mbig-obj
1616
DEFINES+= USE_FLOAT
17+
#QMAKE_CXXFLAGS += -fsanitize=address
18+
#QMAKE_LFLAGS += -fsanitize=address
1719

1820
SOURCES += main.cpp\
1921
ClickableLabel.cpp \

stereomaker.cpp

+14-10
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,12 @@ QVector<QRgb> StereoMaker::grayscale;
88

99
StereoMaker::StereoMaker()
1010
{
11-
depthsep=(int*)malloc(256*sizeof(int));
11+
depthsep= new int [256];
12+
}
13+
14+
StereoMaker::~StereoMaker()
15+
{
16+
delete [] depthsep;
1217
}
1318

1419
void StereoMaker::composeDepth(QImage & depth,QImage & compose,float compose_height)
@@ -100,8 +105,8 @@ QImage StereoMaker::render(const QImage & map, const QImage & ptrn, Preset *pset
100105

101106
int x, left;
102107
int y, right;
103-
int *lookL =(int*) malloc(vwidth*sizeof(int));
104-
int *lookR =(int*) malloc(vwidth*sizeof(int));
108+
int *lookL = new int [vwidth];
109+
int *lookR = new int [vwidth];
105110

106111
int dpi = psettings->getDotsPerInch();
107112
int yShift=dpi/16;
@@ -151,7 +156,7 @@ QImage StereoMaker::render(const QImage & map, const QImage & ptrn, Preset *pset
151156
//benchmark
152157
QElapsedTimer t_time;
153158
t_time.start();
154-
unsigned int **patternptr=(unsigned int **)malloc(pattern_height*sizeof(void*));
159+
unsigned int **patternptr= new unsigned int *[pattern_height];
155160
for (int i=pattern_height-1;i>=0;i--)
156161
{
157162
patternptr[i]=(unsigned int*)pattern.scanLine(i);
@@ -255,7 +260,7 @@ QImage StereoMaker::render(const QImage & map, const QImage & ptrn, Preset *pset
255260
}
256261

257262

258-
CurResultScaledLine = CurResultLine.scaledToWidth(width,Qt::SmoothTransformation);
263+
CurResultScaledLine = CurResultLine.scaled(width, 1, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
259264
memcpy(result.scanLine(y+rh),CurResultScaledLine.scanLine(0),result.bytesPerLine());
260265
if (progbarval!=10*y/(height-1))
261266
{
@@ -264,10 +269,10 @@ QImage StereoMaker::render(const QImage & map, const QImage & ptrn, Preset *pset
264269
}
265270
}
266271
qDebug("Time elapsed: %lld ms", t_time.elapsed());
267-
free(lookL);
268-
free(lookR);
272+
delete [] lookL;
273+
delete [] lookR;
269274
free(mapptr);
270-
free(patternptr);
275+
delete [] patternptr;
271276
if (show_helper)
272277
{
273278
QPainter painter(&result);
@@ -289,11 +294,10 @@ QImage StereoMaker::render(const QImage & map, const QImage & ptrn, Preset *pset
289294
{
290295
rh = 30;
291296
}
292-
if (eye_helper_left!=0)
297+
if (eye_helper_left != 0 && eye_helper_right != 0)
293298
{
294299
painter.drawImage(QPoint(result.width()/2-rect_sep/2-rw/2,rh/6),*eye_helper_left);
295300
painter.drawImage(QPoint(result.width()/2+rect_sep/2-rw/2,rh/6),*eye_helper_right);
296-
297301
}
298302
else
299303
{

stereomaker.h

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ class StereoMaker
1010
{
1111
public:
1212
StereoMaker();
13+
~StereoMaker();
1314
QImage render(const QImage & dmap,const QImage & ptrn,Preset *psettings,QProgressBar * qpbar,const QImage * eye_helper_right,const QImage * eye_helper_left,bool show_helper, bool helpers_margin);
1415
void composeDepth(QImage & depth,QImage & compose, float composeHeight);
1516
static const QVector<QRgb> & getGrayScale();

0 commit comments

Comments
 (0)