Skip to content

Commit b05b328

Browse files
committed
! test
1 parent 88faaa7 commit b05b328

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

modules/intensity_transform/src/intensity_transform.cpp

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,13 @@ void logTransform(const Mat input, Mat& output)
3333

3434
void gammaCorrection(const Mat input, Mat& output, const float gamma)
3535
{
36-
vector<int> table(256);
36+
array<uchar, 256> table;
3737
for (int i = 0; i < 256; i++)
3838
{
39-
table[i] = (int)(pow((i / 255.0), gamma) * 255.0);
39+
table[i] = saturate_cast<uchar>(pow((i / 255.0), gamma) * 255.0);
4040
}
4141

4242
LUT(input, table, output);
43-
output.convertTo(output, CV_8UC3);
4443
}
4544

4645
void autoscaling(const Mat input, Mat& output)
@@ -52,25 +51,24 @@ void autoscaling(const Mat input, Mat& output)
5251

5352
void contrastStretching(const Mat input, Mat& output, const int r1, const int s1, const int r2, const int s2)
5453
{
55-
vector<int> table(256);
54+
array<uchar, 256> table;
5655
for (int i = 0; i < 256; i++)
5756
{
5857
if (i <= r1)
5958
{
60-
table[i] = (int)(((float)s1 / (float)r1) * i);
59+
table[i] = saturate_cast<uchar>(((float)s1 / (float)r1) * i);
6160
}
6261
else if (r1 < i && i <= r2)
6362
{
64-
table[i] = (int)(((float)(s2 - s1)/(float)(r2 - r1)) * (i - r1) + s1);
63+
table[i] = saturate_cast<uchar>(((float)(s2 - s1)/(float)(r2 - r1)) * (i - r1) + s1);
6564
}
6665
else // (r2 < i)
6766
{
68-
table[i] = (int)(((float)(255 - s2)/(float)(255 - r2)) * (i - r2) + s2);
67+
table[i] = saturate_cast<uchar>(((float)(255 - s2)/(float)(255 - r2)) * (i - r2) + s2);
6968
}
7069
}
7170

7271
LUT(input, table, output);
73-
output.convertTo(output, CV_8UC3);
7472
}
7573

7674
}} // cv::intensity_transform::

0 commit comments

Comments
 (0)