我在这里做OCR。在我的系统中,用户输入图像,字符和描述。
如果用户想要输入具有相同字符和描述的另一个图像,则用户只需要导入现有图像以告诉系统该字符和描述是相同的,这样他们就不需要重新输入字符和描述再次。
任何人都知道如何做到这一点?
这是我的代码:
con = new System.Data.SqlClient.SqlConnection();
con.ConnectionString = "Data Source=SHEN-PC\\SQLEXPRESS;Initial Catalog=CharacterImage;Integrated Security=True";
con.Open();
//set variables to the textbox.text
String ImageLocation = imgLoc.Text;
String typeName = CharTB.Text;
String ImportExt = importTB.Text;
String CharDesc = DescTB.Text;
String fileName = System.IO.Path.GetFileName(ImageLocation);
String savePath = @"C:\Users\Shen\Desktop\LenzOCR\LenzOCR\WindowsFormsApplication1\ImageFile\" + fileName;
inputImageBox.Image = Image.FromFile(ImageLocation);
inputImageBox.Image.Save(savePath);
String insertData = "INSERT INTO CharacterImage(ImageName, ImagePath, Character, CharacterDescription) VALUES('"+fileName+"', '"+savePath+"', '"+typeName+"', '"+CharDesc+"')";
SqlCommand cmd = new SqlCommand(insertData, con);
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("Character Inserted", "Insert Success!", MessageBoxButtons.OK, MessageBoxIcon.Information);
descDisplayTB.Text = typeName + "\r\n\r\n" + CharDesc;
//set the Textbox to empty and the "Type Character" textboxt to uneditable
//and the "Import" button to unclickable after user add the data into the database
imgLoc.Text = "";
CharTB.Text = "";
importTB.Text = "";
DescTB.Text = "";
CharTB.ReadOnly = true;
ImportButton.Enabled = false;
}
private void button2_Click(object sender, EventArgs e)
{
descDisplayTB.Text = "";
pictureBox1.Image = null;
}
答案 0 :(得分:0)
可能正在执行以下步骤:
答案 1 :(得分:0)
输入第一张图像后,我不会清除字符和说明字段。这样,用户只需选择下一张图片,然后重新提交表单。
答案 2 :(得分:0)
我给你一个高水平的答案。
我会保留最近识别或加载的数据的集合。 然后,在加载每个项目时,您可以创建一个滚动窗口来选择最近上传到数据库的字符图像,这样该人就不需要将其与您的训练集重新关联。