【发布时间】:2021-12-28 10:26:49
【问题描述】:
我有一个带有 5 列的 dataGridView,我在其中输入我的矩形坐标和自动索引。所以索引随着每个新的坐标集而增加。索引号输入第一列,坐标输入第二列。我有一个数组来存储我的坐标和索引号,我在矩形中处理一个图像,并希望在 datagridview 的相应第三列中输入结果数据。例如,如果我在第 4 行处理矩形,我想在第 4 行的第 3 列输入结果数据。
我尝试了以下方法,但它不起作用:
for (int i = 0; i < pb1rectincrcam4; i++)
{
framecam4.ROI = PB1Rectcam4[i];
framefullcam4.CopyTo(framecam4);
Bitmap bitmap2 = framefullcam4.Bitmap;
Tesseract tesseract = new Tesseract();
tesseract.Init("C:\\Language\\English", "eng", false);
var wordList = tesseract.DoOCR(bitmap2, Rectangle.Empty);
foreach (Word word in wordList)
{
CvInvoke.cvPutText(resultimg, word.Text,new System.Drawing.Point( PB1Rectcam4[i].X, PB1Rectcam4[i].Y) , ref font, color);
listBox1.Items.Add(word.Text.ToString());
g.DrawRectangle(PB1Rectpencam4[i], PB1Rectcam4[i]);
pictureBox5.Image = resultimg.Bitmap;
DataGridViewRow dr = new DataGridViewRow();
dr.CreateCells(dataGridView1);
dr.Cells[i].Value = word.Text;
dataGridView1.Rows.Insert((i),dr);
}
它总是将数据添加到第一行。请帮我解决这个问题。
【问题讨论】:
-
创建一个包含两个属性的模型,一个用于矩形坐标,一个用于 OCR 结果。然后使用数据绑定在 datagridview 中显示一个 BindingList
。
标签: c# .net visual-studio-2010 datagridview