@@ -60,3 +60,93 @@ TEST(skeleton, resize_matches_opencv)
60
60
// std::cout << "Difference:\n" << reference - result << std::endl;
61
61
EXPECT_LT (maxDifference (reference, result), 2 );
62
62
}
63
+
64
+ TEST (skeleton, 2_plus_2_equals_4)
65
+ {
66
+ EXPECT_EQ (4 , 2 + 2 );
67
+ }
68
+
69
+ TEST (skeleton, same_sizes)
70
+ {
71
+ Mat input (10 , 10 , CV_8UC3);
72
+
73
+ randu (input, Scalar::all (0 ), Scalar::all (255 ));
74
+ Mat dst (10 , 10 , CV_8UC3);
75
+ ConvertColor_BGR2GRAY_BT709 (input,dst);
76
+ Mat final (10 , 10 , CV_8UC3);
77
+ GuoHallThinning (dst,final );
78
+ EXPECT_EQ (input.cols ,final .cols );
79
+ EXPECT_EQ (input.rows ,final .rows );
80
+
81
+ }
82
+
83
+ TEST (skeleton, resizefunc_size_test)
84
+ {
85
+ Mat input (10 , 10 , CV_8UC3);
86
+ randu (input, Scalar::all (0 ), Scalar::all (255 ));
87
+ ConvertColor_BGR2GRAY_BT709 (input, input);
88
+ Mat final (input.cols /2 , input.rows /2 , CV_8UC3);
89
+ Size finalsize (input.cols / 2 , input.rows / 2 );
90
+ ImageResize (input, final , finalsize);
91
+ EXPECT_EQ (input.cols / 2 ,final .cols );
92
+ EXPECT_EQ (input.rows / 2 ,final .rows );
93
+ }
94
+
95
+ TEST (skeleton,resizefunc_color_test)
96
+ {
97
+ cv::Mat input (100 , 100 , CV_8UC1);
98
+ input.setTo (Scalar (5 ));
99
+ cv::Mat final (input.cols /2 ,input.rows /2 ,CV_8UC1);
100
+ cv::Size finalsize (input.cols /2 ,input.rows /2 );
101
+ ImageResize (input,final ,finalsize);
102
+ bool flag = true ;
103
+ for (int i = 0 ; i < final .rows ; i++)
104
+ for (int j = 0 ; j < final .cols ; j++)
105
+ {
106
+ if (final .at <uchar>(i,j) != 5 )
107
+ flag = false ;
108
+ }
109
+ EXPECT_EQ (true ,flag);
110
+ }
111
+
112
+ TEST (skeleton, bgr2grayfunc_color_test)
113
+ {
114
+ cv::Scalar col (100 ,150 ,200 );
115
+ cv::Mat input (100 ,100 ,CV_8UC3,col);
116
+ cv::Mat final (100 ,100 ,CV_8UC1);
117
+ ConvertColor_BGR2GRAY_BT709 (input, final );
118
+ bool flag = true ;
119
+ int val = final .at <uchar>(0 ,0 );
120
+ for (int i = 0 ; i < final .rows ; i++)
121
+ for (int j = 0 ; j < final .cols ; j++)
122
+ if (final .at <uchar>(i,j) != val)
123
+ flag = false ;
124
+ EXPECT_EQ (true ,flag);
125
+ }
126
+
127
+ TEST (skeleton, guahall_correct_work_test)
128
+ {
129
+ cv::Mat input (100 ,100 ,CV_8UC1);
130
+ randu (input, Scalar::all (0 ), Scalar::all (255 ));
131
+
132
+ cv::Mat inv (input.rows , input.cols ,CV_8UC1);
133
+ cv::threshold (input, inv, 128 , 255 , cv::THRESH_BINARY_INV);
134
+
135
+ cv::Mat gh (input.rows , input.cols ,CV_8UC1);
136
+ GuoHallThinning (inv, gh);
137
+
138
+ int blackpixelsinv = 0 ;
139
+ int blackpixelsgh= 0 ;
140
+
141
+ for (int i = 0 ; i < inv.rows ; i++)
142
+ for (int j = 0 ; j < inv.cols ; j++)
143
+ if (inv.at <uchar>(i,j) == 0 )
144
+ blackpixelsinv++;
145
+ for (int i = 0 ; i < gh.rows ; i++)
146
+ for (int j = 0 ; j < gh.cols ; j++)
147
+ if (gh.at <uchar>(i,j) == 0 )
148
+ blackpixelsgh++;
149
+
150
+ EXPECT_EQ (true , blackpixelsgh >= blackpixelsinv);
151
+
152
+ }
0 commit comments