将图像粘贴到工作表单元格时出错

时间:2016-08-05 14:49:41

标签: c# excel emgucv

我正在使用emguCV进行人脸识别程序。

现在,我正在编写一个程序,用于在excel工作表中编写测试结果。

以下是我用来粘贴测试结果的代码:

Image a = imageBoxTesting.Image.Bitmap;                    
Image b = imageBoxTraining.Image.Bitmap;

                Clipboard.SetImage(a);
                cellRngImg = (Range)ws.Cells[rowCount, 1];
                ws.Paste(cellRngImg, a);

                ws.Cells[2][rowCount] = testingLabel;

                Clipboard.SetImage(b);
                cellRngImg2 = (Range)ws.Cells[rowCount, 3];
                ws.Paste(cellRngImg2, b);

                Clipboard.Clear();
                cellRngImg.Clear();
                cellRngImg2.Clear();

                ws.Cells[4][rowCount] = predictionLabel;
                ws.Cells[5][rowCount] = ed;
                ws.Cells[6][rowCount] = valid;
                ws.Cells[7][rowCount] = maxDistance;
rowCount++;

将上面的代码放在循环中,直到每个可用的测试图像都经过测试。

错误似乎发生在这一行:

ws.Paste(cellRngImg, a);
ws.Paste(cellRngImg2, b);

错误随机发生,从不在同一次迭代中。在一次运行中,它可能发生在第3次迭代,在另一次运行中它可能发生在第17次迭代。

我尝试以管理员身份运行VS,但似乎没有任何影响。

请帮忙! 谢谢!

EDIT 错误消息:     Eigenface.exe中出现未处理的“System.Runtime.InteropServices.COMException”类型异常     附加信息:来自HRESULT的异常:0x800A03EC

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,并且已经设法解决了。

粘贴操作中似乎有一些锁定,可能需要释放一些时间。

我创建了以下代码进行重试,从而解决了我的问题:

for i in $(k get po -o jsonpath='{range .items[*]}{.metadata.name}{"\n"}')
    do
        if [[ $(kubectl  get po $i -o jsonpath='{.status.containerStatuses[*].ready}') == 'true'  ]]
            then 
                echo $i
        fi
    done