蝴蝶图像的特征提取

2024-04-24 14:00:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一组蝴蝶图像,用于训练我的系统从给定的输入图像中分割蝴蝶。为此,我想提取边缘、角点、区域边界、局部最大/最小强度等特征

我发现了很多特征提取方法,如Harris角点检测、SIFT等,但当图像背景颜色与蝴蝶的身体/边界颜色相同时,这些方法效果不佳。在

请问有没有什么好的特征提取方法可以很好地进行蝴蝶分割?我使用的是OpenCV的Python实现。在


Tags: 方法图像区域颜色系统局部特征边缘
2条回答

你愿意写你自己的图像处理逻辑吗?在

您最好的选择可能是针对您的问题优化分割/特征提取,而不是使用以前的实现,比如opencv,用于更一般的用例。在

我发现在嘈杂/低对比度的环境中,一个很好的选择是使用滑动窗口(即10x10像素)并构建一个渐变方向直方图。从这个直方图中,你可以识别出更多的优势边缘(它们在直方图中累积)和它们的方向(允许检测角点之类的东西),并查看局部最大值/最小值。(如果需要,我可以提供更多细节)

如果您对分割整体感兴趣,并且可以进行用户交互,我建议使用图形切割或抓取切割。在图形切割中,用户可以微调分割。Grab cut已经在opencv中了,但是可能会导致同样的问题,因为它需要用户的一个输入,然后自动分割图像。在

您可以尝试通过将训练数据(butterlys的图像)上传到demo.nanonets.ai(免费使用)来构建模型

1)在此处上载您的培训数据:

demo.nanonets.ai

2)然后使用以下命令查询API(Python代码):

import requests
import json
import urllib
model_name = "Enter-Your-Model-Name-Here"
url = "https://i.ytimg.com/vi/xT6UsQwZyy0/maxresdefault.jpg"
files = {'uploadfile': urllib.urlopen(url).read()}
url = "http://demo.nanonets.ai/classify/?appId="+model_name
r = requests.post(url, files=files)
print json.loads(r.content)

3)回答如下:

^{pr2}$

相关问题 更多 >