diff --git a/TIASshot/CameraBase.cs b/TIASshot/CameraBase.cs index 7856c52..db3286b 100644 --- a/TIASshot/CameraBase.cs +++ b/TIASshot/CameraBase.cs @@ -112,10 +112,14 @@ var filename = Config.GetString("ImageRgbFile"); filename = filename.Replace("0000", $"{idx + 1:0000}"); + var px1 = img.At(0, 0); + Debug.WriteLine($"img (0,0)={px1[0]}, {px1[1]}, {px1[2]}" ); Cv2.ImWrite(Path.Combine(_saveFolder, filename), img); using (var converted = ConvertImage(img, _convRGB2SRGB)) { + var px2 = converted.At(0, 0); + Debug.WriteLine($"conv(0,0)= {px2[0]}, {px2[1]}, {px2[2]}"); filename = Config.GetString("ImageSrgbFile"); filename = filename.Replace("0000", $"{idx + 1:0000}"); Cv2.ImWrite(Path.Combine(_saveFolder, filename), converted); @@ -297,7 +301,7 @@ /// private Mat ConvertColor(Mat src, Mat convMat) { var extended = ExtendMat(src); - var converted = extended * convMat; + var converted = (extended * convMat); return converted.ToMat(); } @@ -343,11 +347,11 @@ /// private Mat ExtendMat(Mat src) { if (src.Cols * src.Channels() != 3) return src; - var dst = new Mat(src.Rows, 17, MatType.CV_64FC1); + var dst = new Mat(src.Rows, 10, MatType.CV_64FC1); Parallel.For(0, src.Rows, row => { - double b = src.Cols == 1 ? src.At(row, 0)[0] : src.At(row, 0); - double g = src.Cols == 1 ? src.At(row, 0)[1] : src.At(row, 1); - double r = src.Cols == 1 ? src.At(row, 0)[2] : src.At(row, 2); + double b = (src.Cols == 1 ? src.At(row, 0)[0] : src.At(row, 0)); + double g = (src.Cols == 1 ? src.At(row, 0)[1] : src.At(row, 1)); + double r = (src.Cols == 1 ? src.At(row, 0)[2] : src.At(row, 2)); dst.At(row, 0) = r; dst.At(row, 1) = g; dst.At(row, 2) = b; @@ -357,14 +361,14 @@ dst.At(row, 6) = r * r; dst.At(row, 7) = g * g; dst.At(row, 8) = b * b; - dst.At(row, 9) = r * r * b; - dst.At(row, 10) = r * r * g; - dst.At(row, 11) = g * g * r; - dst.At(row, 12) = g * g * b; - dst.At(row, 13) = b * b * r; - dst.At(row, 14) = b * b * g; - dst.At(row, 15) = r * g * b; - dst.At(row, 16) = 1.0; + //dst.At(row, 9) = r * r * b; + //dst.At(row, 10) = r * r * g; + //dst.At(row, 11) = g * g * r; + //dst.At(row, 12) = g * g * b; + //dst.At(row, 13) = b * b * r; + //dst.At(row, 14) = b * b * g; + //dst.At(row, 15) = r * g * b; + dst.At(row, 9) = 1.0; }); return dst; } diff --git a/TIASshot/config.xml b/TIASshot/config.xml index e56e75f..17bcc81 100644 --- a/TIASshot/config.xml +++ b/TIASshot/config.xml @@ -16,9 +16,9 @@ 75 100 - 180 - 180 - 180 + 226 + 226 + 226 0.8 100 5 diff --git a/TIASshot/tcc_srgb.csv b/TIASshot/tcc_srgb.csv index 67d9f83..b318e99 100644 --- a/TIASshot/tcc_srgb.csv +++ b/TIASshot/tcc_srgb.csv @@ -1,24 +1,24 @@ -92,110,181 -77,77,164 -61,57,146 -60,56,130 -98,95,176 -105,95,153 -69,63,105 -136,133,156 -80,77,97 -106,110,164 -131,153,176 -89,121,168 -226,226,226 -144,144,144 -118,118,118 -94,94,94 -70,70,70 -48,48,48 -147,103,66 -73,157,90 -71,77,184 -93,199,205 -150,108,189 -192,162,77 +96.32301186,112.325025,186.5234201 +82.31324128,80.29383453,171.0852676 +69.47756159,67.16590374,155.6972853 +71.52204285,67.2126815,136.575252 +103.7045379,97.4188714,182.421585 +112.678945,98.23062006,159.3917196 +75.19966729,70.73924383,108.9777609 +137.6863611,135.756064,162.3761344 +91.2658171,84.15017164,104.4524031 +110.8317244,110.9934467,170.9525427 +132.4354009,152.3878419,182.0816559 +94.29666722,122.4487474,176.0173265 +221.4916807,220.074711,228.5409966 +147.9792819,146.040708,150.1114852 +126.4952424,124.0838434,126.7130378 +105.4254531,101.7574962,101.6174637 +78.25650015,76.29487472,76.27829234 +57.73896828,59.32623693,61.5794928 +154.1996749,111.5542849,71.67241514 +87.89371377,156.8409797,98.50080106 +74.25254109,80.30805345,191.4754494 +92.41751804,191.494394,216.1244595 +148.7973681,106.2075592,194.6932888 +194.2086666,161.0512812,84.51280612 diff --git a/TIASshot/tcc_xyz.csv b/TIASshot/tcc_xyz.csv index e996566..2d5a9f1 100644 --- a/TIASshot/tcc_xyz.csv +++ b/TIASshot/tcc_xyz.csv @@ -1,24 +1,24 @@ -26.9694,22.2296,13.364 -19.2884,13.7524,8.8177 -14.4237,9.6129,5.7125 -11.6642,8.1157,5.4909 -24.4396,18.5826,14.128 -19.8521,16.0356,15.6832 -9.017,7.4296,6.9528 -26.7245,26.1374,26.6745 -9.1571,8.5392,9.1153 -23.7175,20.2923,16.5283 -33.7693,34.1348,26.5486 -24.9456,22.819,12.6612 -71.9692,75.7916,83.293 -26.6574,28.0067,30.7125 -17.4989,18.3474,20.1302 -10.8166,11.3659,12.3731 -6.1187,6.4283,6.9788 -2.7859,2.9221,3.2307 -12.7324,13.4197,30.094 -17.5731,26.8943,10.8587 -23.5593,15.9663,7.9469 -47.8421,55.1381,18.6999 -31.926,23.7278,31.8657 -25.5922,31.3085,55.2278 +28.2789,22.9865,14.0906 +21.2022,15.0427,9.8312 +16.7302,11.4927,7.0447 +13.3976,9.7714,7.2293 +26.1415,19.5921,15.4218 +21.6865,17.3528,17.7344 +9.798,8.2236,7.7633 +28.248,27.0529,27.6584 +10.8197,10.0816,11.3333 +25.2779,21.1375,17.7378 +34.7168,34.1732,26.7522 +26.9003,24.0451,13.8827 +70.7262,72.9651,79.1055 +28.159,29.1665,32.1535 +19.6782,20.4204,22.8107 +12.7046,13.27,15.3711 +6.9748,7.3023,8.2978 +4.2878,4.4695,4.6049 +14.2072,15.1766,32.8394 +18.8159,27.3546,13.4973 +25.6995,17.3961,8.5264 +48.922,52.8105,17.8355 +32.9529,24.0451,31.2531 +26.1447,31.2827,55.8215