![](https://img-blog.csdnimg.cn/20190927151026427.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Image Segmentation
实现图像分割算法
元气少女缘结神
不疯魔,不成活,奋斗吧!
展开
-
不规则形状、重叠目标分割
看过前面应该知道,我一直在找不规则形状、重叠目标分割方法,目前比较满意的是基于距离变换的分水岭,但基于距离变换的分水岭的方法看过源码后,确实不适合并行计算。看了很多国外论文后依旧没有解决。后来想了另一个方法,先写其CPU版,后续会写GPU版并分别与基于距离变换的分水岭CPU版结果比较。1、CPU版效果:先看部分小图结果...原创 2020-10-09 15:53:36 · 2735 阅读 · 16 评论 -
cmake+opencv4.1+opencv_contrib4.1+CUDA以及CUDA11.x的NPP新模块watershedSegmentation
一、环境配置1、网上很多教程都有,安装合适自己电脑的CUDA,我已安装完毕2、CMake编译opencv4.1+opencv_contrib4.1+CUDA,网上依旧很多教程。我前几次编译时,遇到外网下载、下载超时原因报错很多,但后来按照网上的办法自己线下到报错的网址下载后放到对应报错文件夹下,就解决了。中途我自己下载了这些文件:现在cmake第一次configure后,只有下...原创 2020-04-23 16:44:50 · 5735 阅读 · 3 评论 -
cv::cuda与CUDA的NPP库、距离变换和分水岭并行版本尝试
因为不想什么函数都自己写设备核函数,看到opencv有对应的cuda版本的函数比如滤波,然而CUDA的NPP库也提供了对应的滤波函数,我不知道哪个性能更高(当然肯定要比纯CPU版本快,但我没测试过)一、cv::cuda#include <stdio.h>#include <opencv2\core\core.hpp>#include <opencv2\core\cuda.hpp>#include <opencv2\imgproc.hpp>#i原创 2020-05-22 16:09:03 · 2919 阅读 · 10 评论 -
cellpose-planer
看到了cellpose无敌的效果而心动,但耗时劝退了我,然后找到cellpose-planer看到:看到这个耗时再次蠢蠢欲动,于是按照官网安装后检测安装成功:但是加载模型时load_model发现在对下载的cyto_0.pla模型转化过程中报错,函数内部将其转成.onnx和.json,.npy,没细看,不知道是否是这个意思,转化过程中就是上面这句有如下报错:通过调试发现body中只有2个元素flow、layers。所以上面那句body['input'],body['inits']就会报错!.原创 2021-11-10 14:19:07 · 1191 阅读 · 3 评论 -
画内轮廓、csv2xml、txt、粗劣膨胀
但opencv的膨胀只能从轮廓往周围均匀的扩充N,但这绿色区域有的挨近边了,需要膨胀得少,有的距离边很远需要膨胀很多。所以不能用统一的size。我试着写了一个粗劣版本,暂时我觉得可以用。想把图中绿色(原本不是绿色,原本是黑灰色)区域膨胀大,最好能能膨胀到整个目标区域。记录一下这些小tips,每次用时以免重复写。四、将8bit---->1 uchar。将csv转成xml文件,xml的读取。等我有时间了再完善。原创 2018-12-07 10:02:29 · 382 阅读 · 0 评论 -
不规则形状重叠overlapping图像的精准分割--草稿
折腾了很久,目前效果终于比较满意了,可能越复杂越分割准确,目前还在细调中。如图这种不规则物体,(外文那些分割很喜欢用规则的细胞,都是圆形或者中间有一个细胞核,那种比较好分割,对我的需求没什么用)用的是类似这种图片,放出部分结果:目前处理得还不够细致,这是粗调的效果。有的地方写得还有bug,有的地方还没有全通。精调了一下的效果:...原创 2019-12-16 18:48:26 · 2812 阅读 · 12 评论 -
轮廓提取试验
我就是想要类似:https://www.pyimagesearch.com/2015/11/02/watershed-opencv/ 这个的效果,将重叠的轮廓分割开成单独的轮廓。复杂粘连轮廓的处理,要将粘连的轮廓分开,公司的大神用的是轮廓的缺陷点检测,但他的这个算法我看了下,有的凹点会检测不到,所以有的粘连的地方仍然分不开:像这里有6块石头粘连在一起,有的凹陷点就检测不出来。。。...原创 2018-02-08 10:50:22 · 6935 阅读 · 20 评论 -
将多个凸包连接起来形成一个大凸包找到最接近的轮廓
目的:对于很暗很暗的图像 用普通方法不好一下找到轮廓 现在需要找到其最接近的轮廓像这样的图像 拍的是一块完整的石头 蓝色部分只是石头的反光部分而已 现在是要找到这个石头的轮廓 最终得到它的面积。#include#include#include#include #includeusing namespace std;using namespace cv;Mat m原创 2016-10-21 15:09:33 · 2365 阅读 · 0 评论 -
imextendedmin(D,n)
因为之前在https://blog.csdn.net/wd1603926823/article/details/78742599的最后部分说过,我会修改。根据opencv官例 有版本0如下:版本0:int main(int, char** argv){ // Load the image Mat src = imread("/home/jumper/Ore_tr...原创 2019-02-21 10:29:49 · 2563 阅读 · 6 评论 -
关于opencv4.1的dnn及findpeak二维极值
matlab得找极值的函数findpeak只能找一维极值,而且opencv没有对应的函数,所谓极值就是比周围的值都大,然后看需求要什么程度的极值:/*计算可分割石头的中心点--大石头会有点过分割 * singlechannel----单通道的距离变换的图像,类型float * lengthresh-------峰值点周围lengthresh个像素内没有出现比峰值点大的数,则是真的峰值;否...原创 2019-04-28 19:14:09 · 1967 阅读 · 3 评论 -
基于细胞自动机Cellular Automata(CA)的区域生长
本来没想研究这个,但NvidiaNPP的《NVIDIA 2D Image And Signal Performance Primitives》这个模块的NPP Image Processing部分的Filtering Functions中的computer vision部分有连通域标记以及分水岭分割现成的函数,其中官网介绍这个分水岭分割是基于论文《Effiffifficient 2D and 3D Watershed on Graphics Processing Unit: Block-Asynchron.原创 2020-07-07 12:52:21 · 973 阅读 · 6 评论