keyword
技术员
技术员
  • 最后登录2017-12-12
  • 发帖数45
  • 金币194枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
阅读:182回复:9

如何提取出轮廓线导数的数组

楼主#
更多 发布于:2017-12-06 12:49
有没有算子或者什么办法可以读取到这个轮廓线的导数呀,我想把他形成一个数组输出,再做处理。

图片:捕获.PNG


liuchang1994
高级工程师
高级工程师
  • 最后登录2017-12-12
  • 发帖数135
  • 金币1292枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
沙发#
发布于:2017-12-06 13:49
derivate_gauss 这个算子吗??
keyword
技术员
技术员
  • 最后登录2017-12-12
  • 发帖数45
  • 金币194枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
板凳#
发布于:2017-12-06 14:40
liuchang1994:derivate_gauss 这个算子吗??回到原帖
试过,他输出的是一张导数值图片,我就是想要捕捉导数的第一次变化(从左往右,和从右往左),当前只是一个截面,然后在考虑推广到整张图片。
请大神多帮我想想,目前水平比较菜

图片:捕获.PNG

denny1x2002
高级工程师
高级工程师
  • 最后登录2017-12-12
  • 发帖数111
  • 金币1341枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
地板#
发布于:2017-12-07 13:38
我大概想了一下, 看你可不可行!
threshold() 先將你要的數值用Threshold做出region
paint_region()之後用塡色(填Gray)方式把region輪廓填起來
gray_projections()之後再用 gray投影 拿到 左右投影 或著 上下投影資料
拿到資料後 你就知道第一個變化的座標是在那裡了!
不知道你可行不?
keyword
技术员
技术员
  • 最后登录2017-12-12
  • 发帖数45
  • 金币194枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
4楼#
发布于:2017-12-08 09:30
denny1x2002:我大概想了一下, 看你可不可行!
threshold() 先將你要的數值用Threshold做出region
paint_region()之後用塡色(填Gray)方式把region輪廓填起來
gray_projections()之後再...
回到原帖
感谢大神回答,我去试了下,但因为干扰像素多,threshold()这一步就失败了。。。。。
chennian4r
初学者
初学者
  • 最后登录2017-12-09
  • 发帖数7
  • 金币34枚
  • 贡献勋章0枚
5楼#
发布于:2017-12-08 09:43
HFunction1D func;
func.CreateFunct1dArray(YData);
func=func.DerivateFunct1d("first");
HString b="constant";
YData=func.GetYValueFunct1d(gray255,b);
keyword
技术员
技术员
  • 最后登录2017-12-12
  • 发帖数45
  • 金币194枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
6楼#
发布于:2017-12-08 09:47
chennian4r:HFunction1D func;
func.CreateFunct1dArray(YData);
func=func.DerivateFunct1d("first");
HString b="constant";
YDat...
回到原帖
不明白呀
chennian4r
初学者
初学者
  • 最后登录2017-12-09
  • 发帖数7
  • 金币34枚
  • 贡献勋章0枚
7楼#
发布于:2017-12-08 10:03
获取轮廓数据
xld=region.GenContoursSkeletonXld(1,_T("filter"));
YData=image.GetGrayvalContourXld(xld,_T("bilinear"));
求导:
HFunction1D func;
func.CreateFunct1dArray(YData);
func=func.DerivateFunct1d("first");
HString b="constant";
YData=func.GetYValueFunct1d(gray255,b);
buliing
技术员
技术员
  • 最后登录2017-12-11
  • 发帖数38
  • 金币120枚
  • 贡献勋章0枚
8楼#
发布于:2017-12-08 11:39

create_funct_1d_array (GrayValues, Function)
smooth_funct_1d_gauss (Function, 0.3, SmoothedFunction)
derivate_funct_1d (SmoothedFunction, 'first', FirstDerivative)
derivate_funct_1d (SmoothedFunction, 'second', SecondDerivative)


zero_crossings_funct_1d (FirstDerivative, ZeroCrossings)
给你点思路
keyword
技术员
技术员
  • 最后登录2017-12-12
  • 发帖数45
  • 金币194枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
9楼#
发布于:2017-12-08 12:43
buliing:create_funct_1d_array (GrayValues, Function)
smooth_funct_1d_gauss (Function, 0.3, SmoothedFunction)
derivate_funct_1d...
回到原帖
谢谢大侠
游客

返回顶部