我正在尝试制作一个基本工具,它会自动将鼠标移动到菜单中,并从下拉菜单中选择已选择的内容。
所以,这就是我试图让我的鼠标导航到的,特别是" saimon"部分。我将此屏幕截图称为A
用户窗口的屏幕截图比A大。我只想导航到该屏幕中的A部分。
希望你明白这里的目标。
无论如何,我试图做一些简单的事情,比如使用If语句,看看我是否会在截图中找到该图标,如果我这样做的话。它将导航到那些坐标(我可以通过让用户将菜单放在特定位置或自动获取坐标来手动输入)。如果它不匹配,我只会说错误。
答案 0 :(得分:1)
这个答案使用OCR来查找文本'Saimon'的位置X,Y坐标
您下载TessNet(2)
Tessnet2是一个使用Tesseract引擎的.NET 2.0开源OCR程序集。
您可以实现与此类似的代码:
using System;
namespace OCRTest
{
using System.Drawing;
using tessnet2;
class Program
{
static void Main(string[] args)
{
try
{
var image = new Bitmap(@"C:\OCRTest\saimon.jpg");
var ocr = new Tesseract();
ocr.SetVariable("tessedit_char_whitelist", "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.,$-/#&=()\"':?"); // If digit only
//@"C:\OCRTest\tessdata" contains the language package, without this the method crash and app breaks
ocr.Init(@"C:\OCRTest\tessdata", "eng", true);
var result = ocr.DoOCR(image, Rectangle.Empty);
foreach (Word word in result){
if(word.contains("aimon")){
Console.WriteLine("" + word.Confidence + " " + word.Text + " " +word.Top+" "+word.Bottom+ " " +word.Left + " " +word.Right);
}
}
Console.ReadLine();
}
catch (Exception exception)
{
}
}
}
}
您应该能够使用这些坐标自动鼠标点击。
要test online with another OCR OCR如何运作,请提供您的丝网印刷并检查其结果。这些天OCR太棒了!