效果如下:

部分代码如下:
cs
public class Opencv1
{
[CommandMethod("xx1")]
public void Opencv()
{
Document doc = Application.DocumentManager.MdiActiveDocument;
Database db = doc.Database;
Editor ed = doc.Editor;
// 设置采样精度,这里设置为 5 表示每隔 5 个像素取一个点
int precision = 5;
try
{
// 设置点样式和大小
Application.SetSystemVariable("PDMODE", 35); // 十字叉样式
Application.SetSystemVariable("PDSIZE", 2); // 绝对大小
// 创建文件对话框实例
OpenFileDialog openFileDialog = new OpenFileDialog();
// 设置对话框属性
openFileDialog.Title = "选择图片文件"; // 对话框标题
openFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); // 默认桌面路径
openFileDialog.Filter = "图像文件|*.jpg;*.jpeg;*.png;*.bmp|所有文件|*.*"; // 文件过滤器
openFileDialog.FilterIndex = 1; // 默认选择第一个过滤器
openFileDialog.RestoreDirectory = true; // 记住上次目录
// 显示对话框并获取结果
DialogResult result = openFileDialog.ShowDialog();
// 处理选择结果
if (result != DialogResult.OK) return;
string imagePath = openFileDialog.FileName;
Mat image = Cv2.ImRead(imagePath, ImreadModes.Color);
if (image.Empty())
{
ed.WriteMessage("\n无法读取图片。");
return;
}
}
}
}