diff --git a/Readme.txt b/Readme.txt index 3885419..d9cfdd3 100644 --- a/Readme.txt +++ b/Readme.txt @@ -1,19 +1,20 @@ -DeepTongue_GlossExtraction 1.0 +DeepTIAS 1.0 �X�V���e�ɂ‚��āF 1. Gloss���o�@�\�̒lj� -2. ���t�@�N�^�����O�ƍׂ��ȃo�O�̏C�� +2. ��̈�̕���RGB�Z�o�@�\�̒lj� +3. ���t�@�N�^�����O�ƍׂ��ȃo�O�̏C�� -Gloss���o�v���O�����̑���ɂ‚��āF +�㒊�o�v���O�����̑���ɂ‚��āF 1. VShot�摜��"data"�t�H���_�ɓ���Ă��������B 2. Start�������Ă��������B +�㒊�o�v���O�����̏o�͂ɂ‚��āF "cropped"�t�H���_: �g���~���O�ɂ���Đ������ꂽ�摜�͎����I�ɂ����ɕۑ�����܂��B "cropresized"�t�H���_: �T�C�Y�ύX��ɐ������ꂽ�摜�͎����I�ɂ����ɕۑ�����܂��B "detection"�t�H���_: �㌟�o���ꂽ�摜�͎����I�ɂ����ɕۑ�����܂��B "extraction"�t�H���_: �㒊�o���ꂽ�摜�͎����I�ɂ����ɕۑ�����܂��B "gloss"�t�H���_�F�@Gloss���o���ꂽ�摜�͎����I�ɂ����ɕۑ�����܂��B - "mask"�t�H���_: ��̈�mask�͎����I�ɂ����ɕۑ�����܂��B "mask_changed1"�t�H���_: SRG�㏈��������̈�mask�͎����I�ɂ����ɕۑ�����܂��B "mask_changed2"�t�H���_: �ŏI�I�Ȑ�̈�mask�͎����I�ɂ����ɕۑ�����܂��B @@ -21,7 +22,7 @@ "output_resized"�t�H���_: ���T�C�Y������l����摜�͎����I�ɂ����ɕۑ�����܂��B "output_changed1"�t�H���_: SRG1�㏈��������l����摜�͎����I�ɂ����ɕۑ�����܂��B "output_changed2"�t�H���_: SRG2�㏈��������l����摜�͎����I�ɂ����ɕۑ�����܂��B -"info"�t�H���_: �㌟�o�œ���ꂽ���W�Ɛ㕪���œ���ꂽ�ʐς�csv�ɏ������݂����ɕۑ�����܂��D +"info"�t�H���_: �����œ���ꂽ�l�X�ȃf�[�^��csv�ɏ������݂����ɕۑ�����܂��D "Log.txt": ����������摜�������L�^����܂��D �s��ɂ‚��āF diff --git a/Tongue extraction_cropresizemethod/Tongue extraction/DeepTongue1.8.csproj b/Tongue extraction_cropresizemethod/Tongue extraction/DeepTongue1.8.csproj index 7d27d7c..2065363 100644 --- a/Tongue extraction_cropresizemethod/Tongue extraction/DeepTongue1.8.csproj +++ b/Tongue extraction_cropresizemethod/Tongue extraction/DeepTongue1.8.csproj @@ -9,7 +9,7 @@ WinExe Properties Tongue_extraction - DeepTongue1.8 + DeepTIAS1.0 v4.7.1 512 true diff --git a/Tongue extraction_cropresizemethod/Tongue extraction/Form1.Designer.cs b/Tongue extraction_cropresizemethod/Tongue extraction/Form1.Designer.cs index bca39f5..cff6a37 100644 --- a/Tongue extraction_cropresizemethod/Tongue extraction/Form1.Designer.cs +++ b/Tongue extraction_cropresizemethod/Tongue extraction/Form1.Designer.cs @@ -383,7 +383,7 @@ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Margin = new System.Windows.Forms.Padding(1, 2, 1, 2); this.Name = "Form1"; - this.Text = "DeepTongue_GlossExtraction1.0"; + this.Text = "DeepTIAS1.0"; this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing); ((System.ComponentModel.ISupportInitialize)(this.pictureBox_input)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox_detection)).EndInit(); diff --git a/Tongue extraction_cropresizemethod/Tongue extraction/Form1.cs b/Tongue extraction_cropresizemethod/Tongue extraction/Form1.cs index e1e0dea..5c5b17d 100644 --- a/Tongue extraction_cropresizemethod/Tongue extraction/Form1.cs +++ b/Tongue extraction_cropresizemethod/Tongue extraction/Form1.cs @@ -75,7 +75,7 @@ sw.WriteLine( "image" + "," + "top left X" + "," + "top left Y" + "," + "bottom right X" + "," + "bottom right Y" + "," + - "Width" + "," + "Height" + "," + "Area" + "," + "Gloss Count"); + "Width" + "," + "Height" + "," + "Area" + "," + "Gloss Count" + "," + "mean R" + "," + "mean G" + "," + "mean B"); } [Conditional("DEBUG")] @@ -792,6 +792,7 @@ label6.BackColor = Color.Red; mat_extraction = mat_input.Clone(); areaCount = 0; + var bgr = new double[3] { 0.0, 0.0, 0.0 }; for (int i = 0; i < mat_input.Height; i++) { for (int j = 0; j < mat_input.Width; j++) @@ -809,11 +810,17 @@ pix[0] = (byte)(mat_extraction.At(i, j).Item0); pix[1] = (byte)(mat_extraction.At(i, j).Item1); pix[2] = (byte)(mat_extraction.At(i, j).Item2); + bgr[0] += pix[0]; + bgr[1] += pix[1]; + bgr[2] += pix[2]; mat_extraction.Set(i, j, pix); areaCount++; } } } + bgr[0] /= areaCount; + bgr[1] /= areaCount; + bgr[2] /= areaCount; mat_extraction.SaveImage(basepath + "\\extraction" + imageFile); bitmap_bitch = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(mat_extraction); Invoke((MethodInvoker)delegate @@ -854,18 +861,29 @@ { for (int j = 0; j < mat_input.Width; j++) { + Vec3b pix = mat_gloss.At(i, j); if (mat_maskSRG.At(i, j) == 0) { + pix[0] = (byte)((pix[0] + pix[1] + pix[2]) / 3); + pix[1] = (byte)pix[0]; + pix[2] = (byte)pix[0]; + mat_gloss.Set(i, j, pix); } else { - Vec3b pix = mat_gloss.At(i, j); if (pix.Item1 > thresh) { glossCount++; - pix[0] = (byte)(255); - pix[1] = (byte)(0); - pix[2] = (byte)(0); + pix[0] = (byte)(0); + pix[1] = (byte)(255); + pix[2] = (byte)(255); + mat_gloss.Set(i, j, pix); + } + else + { + pix[0] = (byte)((pix[0] + pix[1] + pix[2]) / 3); + pix[1] = (byte)pix[0]; + pix[2] = (byte)pix[0]; mat_gloss.Set(i, j, pix); } } @@ -906,10 +924,11 @@ + P1.X.ToString() + "," + P1.Y.ToString() + "," + P2.X.ToString() + "," + P2.Y.ToString() + "," + Math.Abs(P1.X - P2.X).ToString() + "," + Math.Abs(P1.Y - P2.Y).ToString() + "," - + areaCount.ToString() + "," + glossCount.ToString() + + areaCount.ToString() + "," + glossCount.ToString() + "," + + bgr[2].ToString() + "," + bgr[1].ToString() + "," + bgr[0].ToString() ); } - + GC.Collect(); } MessageBox.Show("Finished!");