将图像发送到 yolo(暗网)并接收对象位置和类型
Send an image to yolo (darknet) and receive object position and type
是否有可能将图像从 C# 发送到 yolo 并接收所有检测到的对象位置和类型。
例如演示图片
type | x | y | width | height
-------------------------------------------
bicycle | 214 | 150 | 450 | 378
dog | 150 | 260 | 210 | 350
truck | 540 | 100 | 250 | 150
示例代码
public class Yolo
{
public ObjectPosition[] GetObjects(Image image)
{
//return yolo result
}
}
public class ObjectPosition
{
public string Type { get; set; }
public int X { get; set; }
public int Y { get; set; }
public int Width { get; set; }
public int Height { get; set; }
}
YOLO 似乎没有公开用于检索结果和边界框的端点。
如果您通读 YOLO 网页,您会发现在命令行中它将 return 带有对象和置信度评级的字符串,以及边界框(如演示预测图像中所示) 实际上是 输出到 predictions.png 文件。
我相信如果您想要这些边界框,您可能需要下载 YOLO 源代码并将其控制台输出也调整为 return 这些值。
是的,你可以使用这个 nuget 包 Alturos.Yolo for your requirement. More informations you found on the product page。
安装依赖[=23=]
首先安装这两个nuget包,第一个是opencv和c++ yolo项目的逻辑,第二个包含yolo配置数据。
PM> install-package Alturos.Yolo
PM> install-package Alturos.YoloV2TinyVocData
代码示例
using (var yoloWrapper = new YoloWrapper("yolov2-tiny-voc.cfg", "yolov2-tiny-voc.weights", "voc.names"))
{
var items = yoloWrapper.Detect("image.jpg");
}
我正在使用 https://github.com/AlexeyAB/darknet fork 在 windows 上使用 yolo。那里有 yolo_cpp_dll 和 yolo_cpp_dll_no_gpu 项目来构建 Yolo DLL。它的 "detect" 函数获取图像和 returns 组检测,每个都是结构:{x,y,w,h,prob,class_id}。还有 darknet.py 使用来自 python 的 DLL 的示例。我不认为从 c# 开始会更难。
是否有可能将图像从 C# 发送到 yolo 并接收所有检测到的对象位置和类型。
例如演示图片
type | x | y | width | height
-------------------------------------------
bicycle | 214 | 150 | 450 | 378
dog | 150 | 260 | 210 | 350
truck | 540 | 100 | 250 | 150
示例代码
public class Yolo
{
public ObjectPosition[] GetObjects(Image image)
{
//return yolo result
}
}
public class ObjectPosition
{
public string Type { get; set; }
public int X { get; set; }
public int Y { get; set; }
public int Width { get; set; }
public int Height { get; set; }
}
YOLO 似乎没有公开用于检索结果和边界框的端点。
如果您通读 YOLO 网页,您会发现在命令行中它将 return 带有对象和置信度评级的字符串,以及边界框(如演示预测图像中所示) 实际上是 输出到 predictions.png 文件。
我相信如果您想要这些边界框,您可能需要下载 YOLO 源代码并将其控制台输出也调整为 return 这些值。
是的,你可以使用这个 nuget 包 Alturos.Yolo for your requirement. More informations you found on the product page。
安装依赖[=23=]
首先安装这两个nuget包,第一个是opencv和c++ yolo项目的逻辑,第二个包含yolo配置数据。
PM> install-package Alturos.Yolo
PM> install-package Alturos.YoloV2TinyVocData
代码示例
using (var yoloWrapper = new YoloWrapper("yolov2-tiny-voc.cfg", "yolov2-tiny-voc.weights", "voc.names"))
{
var items = yoloWrapper.Detect("image.jpg");
}
我正在使用 https://github.com/AlexeyAB/darknet fork 在 windows 上使用 yolo。那里有 yolo_cpp_dll 和 yolo_cpp_dll_no_gpu 项目来构建 Yolo DLL。它的 "detect" 函数获取图像和 returns 组检测,每个都是结构:{x,y,w,h,prob,class_id}。还有 darknet.py 使用来自 python 的 DLL 的示例。我不认为从 c# 开始会更难。