Fixing chessboard generation #1572

This commit is contained in:
matlabbe
2025-09-03 15:59:37 -07:00
parent 52e770e2d4
commit 349580299c
2 changed files with 11 additions and 10 deletions
+9 -8
View File
@@ -250,17 +250,18 @@ void CalibrationDialog::resetSettings()
cv::Mat drawChessboard(int squareSize, int boardWidth, int boardHeight, int borderSize) cv::Mat drawChessboard(int squareSize, int boardWidth, int boardHeight, int borderSize)
{ {
int imageWidth = squareSize*boardWidth + borderSize; int imageWidth = squareSize*(boardWidth+1) + 2*borderSize;
int imageHeight = squareSize*boardHeight + borderSize; int imageHeight = squareSize*(boardHeight+1) + 2*borderSize;
cv::Mat chessboard(imageWidth, imageHeight, CV_8UC1, 255); cv::Mat chessboard(imageHeight, imageWidth, CV_8UC1, 255);
unsigned char color = 0; unsigned char rowColor = 0;
for(int i=borderSize;i<imageHeight-borderSize; i=i+squareSize) { for(int i=borderSize;i<imageHeight-borderSize; i=i+squareSize) {
color=~color; unsigned char colColor = rowColor;
for(int j=borderSize;j<imageWidth-borderSize;j=j+squareSize) { for(int j=borderSize;j<imageWidth-borderSize;j=j+squareSize) {
cv::Mat roi=chessboard(cv::Rect(i,j,squareSize,squareSize)); cv::Mat roi=chessboard(cv::Rect(j,i,squareSize,squareSize));
roi.setTo(color); roi.setTo(colColor);
color=~color; colColor=~colColor;
} }
rowColor = ~rowColor;
} }
return chessboard; return chessboard;
} }
+2 -2
View File
@@ -360,7 +360,7 @@
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="minimum"> <property name="minimum">
<number>2</number> <number>3</number>
</property> </property>
<property name="value"> <property name="value">
<number>8</number> <number>8</number>
@@ -373,7 +373,7 @@
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="minimum"> <property name="minimum">
<number>2</number> <number>3</number>
</property> </property>
<property name="value"> <property name="value">
<number>6</number> <number>6</number>