- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正尝试按照教程将 WaterShed 算法应用于图像:OpenCv WaterShed Docs .我早些时候在灰度图像上应用了高斯滤波和形态学变换后的 Otsu 阈值,以根据代码提高图像质量:
img = cv2.imread('Results\Feb_16-0.jpg',0)
kernel = np.ones((1,1),np.uint8)
opening = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)
blur = cv2.GaussianBlur(opening,(1,1),0)
ret3,th4 = cv2.threshold(blur,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)
根据代码应用距离变换作为分水岭算法的第一阶段:
# sure background area
sure_bg = cv2.dilate(opening,kernel,iterations=1)
# Finding sure foreground area
dist_transform = cv2.distanceTransform(opening,cv2.DIST_L2,3)
产生错误:
error: (-215) src.type() == CV_8UC3 && dst.type() == CV_32SC1 in function cv::watershed
其中正在尝试将 8 位 3 channel 图像转换为 32 位单 channel 图像。我如何防止这种情况发生并使用距离变换?
最佳答案
当您输入到 cv2.distanceTransform
中的数组格式不正确时,会出现此错误。它应该是 np.uint8 类型的二维数组(不是 int8)。
例如
import cv2 as cv
import numpy as np
testim = np.zeros((11,11), dtype = uint8)
testim[2:6,1:6] = 255
testim[3,3] = 0
print(testim)
dist = cv.distanceTransform(testim, cv.DIST_L2, 5)
print(testim)
如果您正在读取格式不正确的图像,则必须先将其转换为灰色(只有一个 channel )并确保其为 uint8 格式。这可以通过 imagename.astype(np.uint8)
这是在 opencv 版本 3.3.1,python 3.5 中测试的。
关于python - OpenCV Python 中的距离变换自动将 CV_8UC3 转换为 CV_32SC1,从而产生断言错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38241511/
我是 Spark 的新手。有人可以清除我的疑问吗: 让我们假设下面是我的代码: a = sc.textFile(filename) b = a.filter(lambda x: len(x)>0 an
问题 每行输入都将包含一个字符串,后跟一个整数。每个字符串最多包含 10 个字母字符,每个整数都在 0 到 999 的范围内 输出代码 在输出的每一行中应该有两列:第一列包含字符串,并使用 15 个字
我希望从不同供应商、不同用途、不同 APDU 的一堆智能卡中读取一些基本信息。例如:国家身份识别智能卡、EMV(支付)、手机SIM、javacard等... 我编写了一个 Java 应用程序。让我将
我有一组我想读入 RDD 的日志文件。 这些日志文件都是压缩的 gzip 文件,文件名是 日期盖章。 我一直在用sc.wholeTextFiles()读入文件,似乎我遇到了 Java 堆内存问题。为了
我使用以下命令创建服务:sc create MyService binpath= "C:\Path\MyDriver.sys" 返回的消息是:[SC] CreateService SUCCESS,但是
我使用 Spring mvc,我的问题是关于 sendError方法来自 HttpServletResponse . 有人可以告诉我哪个最好: @RequestMapping(method = Req
class superClass {} class subClass extends superClass{} public class test { public static void m
我在ConcurrentHashMap中阅读了addCount函数的源代码, 但我不知道什么时候可以实现( sc == rs + 1 || sc == rs + MAX_RESIZERS)条件。 为什
我正在尝试使用 Sproutcore 呈现 UI,其中我有一个列表列表。有一个垂直的数据列表,其中每个关联的项目都有自己的项目列表。我已经根据我对 Sproutcore 的了解设置了我认为合适的模型。
当我通过 http://software.intel.com/en-us/android 安装 Intelhaxm 时并且我成功安装了,但是当我尝试使用管理员在命令提示符下验证 Intelhaxm 是
我试图在我的 MVC - Sitecore - 7.1 中的 v4.0.30319 项目中使用 Glass Mapper。 以下是我安装的 Glass Mapper 版本 Glass Mapper 版
在我通过取消注释文件中的以下行来更改 svnserve.conf 之后,我正在尝试使用 cmd 创建一个 svnserver, anon-access = read auth-access = wri
有没有办法让 java 使用 javax.smartcardio.TerminalFactory 识别我的 NFC 读卡器? 我正在使用 Ubuntu 13.04 并使用 pcsc_scan 我能够读
我正在使用 sc.exe 命令来安装 C# windows 服务。 C:Windows\System32> sc.exe Create "TestService1" binPath= "C:\Prog
sc-bytes 代表什么?每一个关于 sc-bytes 的讨论和博客都声明它代表从服务器到客户端的字节。 想知道sc-bytes是否代表总响应字节数, 例如,。当我们访问任何 URL 时,它是否包含
topLeftView: SC.ScrollView.design({ backgroundColor: "#DADFE6", childViews: 'labLabel labMem
我想将一些已解析的 JSON 数据从我的 Controller 推送到 SC.SourceListView (Sproutcore Showcase) .我使用 SC.TreeController并将
您对此有什么解决方案吗? 我想得到 SC.SceneView从下到上过渡,而不是从左到右或从右到左。 Doc在这里并没有说太多,但是由于原始转换必须在某个地方,也许我可以为此创建其方法的原型(prot
我正在基于SproutCore 1.8的项目中。我的应用程序必须在复杂的表格 View 中显示大量数据。实际上,表格 View 将成为应用程序界面的核心元素之一。另外,我可能需要大纲/树 View ,
我正在尝试在SproutCore应用程序中按部门显示联系人列表,并尝试将SC.ListView嵌套在另一个SC.ListView中无济于事。 我可以use SC.GridView to assist,
我是一名优秀的程序员,十分优秀!