- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我需要在我的项目中检测边缘以进行形状检测。目前我正在使用 MATLAB,但如果它能提供更好的输出,我可以接受 openCV。所以这就是问题所在。我拥有的样本图像与表面粗糙的物体重叠。我正在使用这段代码并获得了良好的输出,但表面的粗糙度仍然使我的输出降级。我在 MATLAB 中使用这段代码:
a = imread('D:\images\wheatstarch.jpg');
I = rgb2gray(a);
imshow(I)
thresold = graythresh(I);
se1=strel('diamond',2);
I1=imerode(I,se1);
bw = edge(I1,'canny');
figure;
imshow(bw);
我得到这个输出: http://i49.tinypic.com/vg7fns.png
我需要更好的输出,以便我可以使用输出进行形状检测。
输入图片下载 http://www.profimedia.si/photo/wheat-starch-granules/profimedia-0035237439.jpg
最佳答案
在 photoshop 中处理文件,photoshop find edges edges 后跟 levels 命令给出的输出更像你正在寻找的。我不是建议你使用 photoshop,photoshop 是一个方便的工具,用于可视化处理图形文件的方法。我总是编写自己的代码,所以不能建议任何现成的解决方案。
我看到的是 photoshop 的查找边缘给出了边缘硬度的灰度结果,而您正在寻找的对象是边缘最硬的对象。
看起来您得到的是图像首先转换为黑白(如 level 命令),然后找到边缘。转换为黑白是在阴影中创建任意线条,然后对其进行追踪。这导致在原始图像中显示为阴影中的灰色平滑过渡到跟踪中的人工线条。
通过创建灰度边缘,然后将灰度边缘转换为黑白,平滑的灰度转换不会产生任何边缘。
关于matlab - 需要对粗糙表面重叠物体进行良好的边缘检测程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14908470/
嗨,我正在考虑开发一种文件传输程序,想知道我是否想要尽可能好的加密,我应该使用什么? 我会用 C# 开发它,所以我可以访问 .net 库 :P在我的 usb 上有一个证书来访问服务器是没有问题的,如果
我创建的这个计算两个数组的交集是线性的方法的复杂度(在良好、平均、最差的情况下)? O(n) public void getInt(int[] a,int[] b){ int i=0; int
我已经能够使用 RTCPeerConnection.getStats() API 获得 WebRTC 音频调用的各种统计信息(抖动、RTT、丢包等)。 我需要将整体通话质量评为优秀、良好、一般或差。
基本问题: 如果我正在讲述/修改数据,我应该通过索引硬编码索引访问文件的元素,即 targetFile.getElement(5);通过硬编码标识符(内部翻译成索引),即 target.getElem
在 Linux 上,我想知道要调用什么“C”API 来获取每个 CPU 的统计信息。 我知道并且可以从我的应用程序中读取 /proc/loadavg,但这是系统范围的负载平均值,而不是每个 CPU 的
在客户端浏览器中使用 fetch api,GET 或 POST 没有问题,但 fetch 和 DELETE 有问题。它似乎将 DELETE 请求方法更改为 OPTIONS。 大多数研究表明是一个cor
我是一名优秀的程序员,十分优秀!