当前位置: 首页 > news >正文

网站建设培训班上的讲话外链的作用

网站建设培训班上的讲话,外链的作用,中国最顶尖设计师,四个字广告公司名字文章目录1.BinomialBlurImageFilter计算每个维度上的最近邻居平均值2.高斯平滑3.图像的高阶导数 RecursiveGaussianImageFilter4.均值滤波5.中值滤波6.离散高斯平滑7.曲率驱动流去噪图像 CurvatureFlowImageFilter8.由参数alpha和beta控制的幂律自适应直方图均衡化9.Canny 边缘… 文章目录1.BinomialBlurImageFilter计算每个维度上的最近邻居平均值2.高斯平滑3.图像的高阶导数 RecursiveGaussianImageFilter4.均值滤波5.中值滤波6.离散高斯平滑7.曲率驱动流去噪图像 CurvatureFlowImageFilter8.由参数alpha和beta控制的幂律自适应直方图均衡化9.Canny 边缘检测10.Sobel边缘检测和基于过零的边缘检测保存图像和读取图像 import itk import cv2 import matplotlib.pyplot as plt import numpy as npdef saveImage(inImage,savePath):writer itk.ImageFileWriter[type(inImage)].New()writer.SetFileName(savePath)writer.SetInput(inImage)writer.Update()PixelType itk.UC Dimension 2 ImageType itk.Image[PixelType, Dimension] imagePath1 rD:\svnproject\drrimage.tif reader1 itk.ImageFileReader[ImageType].New() reader1.SetFileName(imagePath1) reader1.Update() image1 reader1.GetOutput() 1.BinomialBlurImageFilter计算每个维度上的最近邻居平均值 #BinomialBlurImageFilter计算每个维度上的最近邻居平均值。根据用户的指定该过程将重复多次。原则上经过大量的迭代结果将接近高斯卷积。 #https://examples.itk.org/src/filtering/smoothing/blurringanimageusingabinomialkernel/documentation #number_of_repetitions整型值越大,图像越模糊 def SmoothingWithBinomialKernel(inputImage,number_of_repetitions):ImageType type(inputImage)binomialFilter itk.BinomialBlurImageFilter[ImageType,ImageType].New()binomialFilter.SetInput(inputImage)binomialFilter.SetRepetitions(number_of_repetitions)rescaler itk.RescaleIntensityImageFilter[ImageType, ImageType].New()rescaler.SetInput(binomialFilter.GetOutput())rescaler.SetOutputMinimum(0)rescaler.SetOutputMaximum(255)outputFileName outImage_str(number_of_repetitions).pngsaveImage(rescaler.GetOutput(),outputFileName)return rescaler.GetOutput()resImage1 SmoothingWithBinomialKernel(image1,1) resImage2 SmoothingWithBinomialKernel(image1,10) resImage3 SmoothingWithBinomialKernel(image1,20) resImage4 SmoothingWithBinomialKernel(image1,50) resImage5 SmoothingWithBinomialKernel(image1,100) resImage6 SmoothingWithBinomialKernel(image1,150) plt.subplot(231),plt.imshow(itk.GetArrayFromImage(resImage1),gray),plt.title(repetitions1) plt.subplot(232),plt.imshow(itk.GetArrayFromImage(resImage2),gray),plt.title(repetitions10) plt.subplot(233),plt.imshow(itk.GetArrayFromImage(resImage3),gray),plt.title(repetitions20) plt.subplot(234),plt.imshow(itk.GetArrayFromImage(resImage4),gray),plt.title(repetitions50) plt.subplot(235),plt.imshow(itk.GetArrayFromImage(resImage5),gray),plt.title(repetitions100) plt.subplot(236),plt.imshow(itk.GetArrayFromImage(resImage6),gray),plt.title(repetitions150) plt.show() 结果 2.高斯平滑 #通过高斯核卷积计算图像的平滑。 https://examples.itk.org/src/filtering/smoothing/computessmoothingwithgaussiankernel/documentation?highlightsmooth # sigmaValue浮点型可以大于1.0值越大,图像越模糊 def SmoothingWithGaussianKernel(inputImage,sigmaValue):ImageType type(inputImage)smoothFilter itk.SmoothingRecursiveGaussianImageFilter[ImageType, ImageType].New()smoothFilter.SetInput(inputImage)smoothFilter.SetSigma(sigmaValue)outputFileName outImage_str(sigmaValue).pngsaveImage(smoothFilter.GetOutput(),outputFileName)return smoothFilter.GetOutput()#高斯平滑 resImage1 SmoothingWithGaussianKernel(image1,0.1) resImage2 SmoothingWithGaussianKernel(image1,0.5) resImage3 SmoothingWithGaussianKernel(image1,0.9) resImage4 SmoothingWithGaussianKernel(image1,1.5) resImage5 SmoothingWithGaussianKernel(image1,2.5) resImage6 SmoothingWithGaussianKernel(image1,5.5) plt.subplot(231),plt.imshow(itk.GetArrayFromImage(resImage1),gray),plt.title(sigmaValue0.1) plt.subplot(232),plt.imshow(itk.GetArrayFromImage(resImage2),gray),plt.title(sigmaValue0.5) plt.subplot(233),plt.imshow(itk.GetArrayFromImage(resImage3),gray),plt.title(sigmaValue0.9) plt.subplot(234),plt.imshow(itk.GetArrayFromImage(resImage4),gray),plt.title(sigmaValue1.5) plt.subplot(235),plt.imshow(itk.GetArrayFromImage(resImage5),gray),plt.title(sigmaValue2.5) plt.subplot(236),plt.imshow(itk.GetArrayFromImage(resImage6),gray),plt.title(sigmaValue5.5) plt.show()结果 3.图像的高阶导数 RecursiveGaussianImageFilter #求图像的高阶导数。https://examples.itk.org/src/filtering/smoothing/findhigherderivativesofimage/documentation #axisType--0表示x轴1表示y轴 (突出边界) def SmoothingWithHigherDerivatives(inputImage,axisType):ImageType type(inputImage)gaussianFilter itk.RecursiveGaussianImageFilter[ImageType, ImageType].New()gaussianFilter.SetInput(inputImage)gaussianFilter.SetDirection(axisType) #x axisgaussianFilter.SetSecondOrder()outputFileName outImage_str(axisType).pngsaveImage(gaussianFilter.GetOutput(),outputFileName)return gaussianFilter.GetOutput()#求图像的高阶导数 resImage1 SmoothingWithHigherDerivatives(image1,0) resImage2 SmoothingWithHigherDerivatives(image1,1) plt.subplot(121),plt.imshow(itk.GetArrayFromImage(resImage1),gray),plt.title(axisType X) plt.subplot(122),plt.imshow(itk.GetArrayFromImage(resImage2),gray),plt.title(axisType Y) plt.show()结果 4.均值滤波 #对图像应用均值滤波。https://examples.itk.org/src/filtering/smoothing/meanfilteringofanimage/documentation # radius整型值越大,图像越模糊 def SmoothingWithMeanFiltering(inputImage,radius):ImageType type(inputImage)meanFilter itk.MeanImageFilter[ImageType, ImageType].New()meanFilter.SetInput(inputImage)meanFilter.SetRadius(radius)outputFileName outImage_str(radius).pngsaveImage(meanFilter.GetOutput(),outputFileName)return meanFilter.GetOutput()#均值滤波 resImage1 SmoothingWithMeanFiltering(image1,1) resImage2 SmoothingWithMeanFiltering(image1,5) resImage3 SmoothingWithMeanFiltering(image1,10) resImage4 SmoothingWithMeanFiltering(image1,20) resImage5 SmoothingWithMeanFiltering(image1,40) resImage6 SmoothingWithMeanFiltering(image1,80) plt.subplot(231),plt.imshow(itk.GetArrayFromImage(resImage1),gray),plt.title(radius1) plt.subplot(232),plt.imshow(itk.GetArrayFromImage(resImage2),gray),plt.title(radius5) plt.subplot(233),plt.imshow(itk.GetArrayFromImage(resImage3),gray),plt.title(radius10) plt.subplot(234),plt.imshow(itk.GetArrayFromImage(resImage4),gray),plt.title(radius20) plt.subplot(235),plt.imshow(itk.GetArrayFromImage(resImage5),gray),plt.title(radius40) plt.subplot(236),plt.imshow(itk.GetArrayFromImage(resImage6),gray),plt.title(radius80) plt.show()结果 5.中值滤波 #在图像上应用中值滤波。https://examples.itk.org/src/filtering/smoothing/medianfilteringofanimage/documentation #radius整型值越大,图像越模糊 def SmoothingWithMedianFiltering(inputImage,radius):ImageType type(inputImage)medianFilter itk.MedianImageFilter[ImageType, ImageType].New()medianFilter.SetInput(inputImage)medianFilter.SetRadius(radius)outputFileName outImage_str(radius).pngsaveImage(medianFilter.GetOutput(),outputFileName)return medianFilter.GetOutput()resImage1 SmoothingWithMedianFiltering(image1,1) resImage2 SmoothingWithMedianFiltering(image1,5) resImage3 SmoothingWithMedianFiltering(image1,10) resImage4 SmoothingWithMedianFiltering(image1,20) resImage5 SmoothingWithMedianFiltering(image1,40) resImage6 SmoothingWithMedianFiltering(image1,80) plt.subplot(231),plt.imshow(itk.GetArrayFromImage(resImage1),gray),plt.title(radius1) plt.subplot(232),plt.imshow(itk.GetArrayFromImage(resImage2),gray),plt.title(radius5) plt.subplot(233),plt.imshow(itk.GetArrayFromImage(resImage3),gray),plt.title(radius10) plt.subplot(234),plt.imshow(itk.GetArrayFromImage(resImage4),gray),plt.title(radius20) plt.subplot(235),plt.imshow(itk.GetArrayFromImage(resImage5),gray),plt.title(radius40) plt.subplot(236),plt.imshow(itk.GetArrayFromImage(resImage6),gray),plt.title(radius80) plt.show()结果 6.离散高斯平滑 #用离散高斯滤波器平滑图像。https://examples.itk.org/src/filtering/smoothing/smoothimagewithdiscretegaussianfilter/documentation # variance浮点型可以大于1.0值越大,图像越模糊 def SmoothWithDiscreteGaussianfilter(inputImage,variance):ImageType type(inputImage)gaussianFilter itk.DiscreteGaussianImageFilter[ImageType, ImageType].New()gaussianFilter.SetInput(inputImage)gaussianFilter.SetVariance(variance) outputFileName outImage_str(variance).pngsaveImage(gaussianFilter.GetOutput(),outputFileName)return gaussianFilter.GetOutput()#离散高斯滤波器平滑图像 resImage1 SmoothWithDiscreteGaussianfilter(image1,1.0) resImage2 SmoothWithDiscreteGaussianfilter(image1,4.0) resImage3 SmoothWithDiscreteGaussianfilter(image1,8.0) resImage4 SmoothWithDiscreteGaussianfilter(image1,15.0) resImage5 SmoothWithDiscreteGaussianfilter(image1,30.0) resImage6 SmoothWithDiscreteGaussianfilter(image1,50.0) plt.subplot(231),plt.imshow(itk.GetArrayFromImage(resImage1),gray),plt.title(variance1) plt.subplot(232),plt.imshow(itk.GetArrayFromImage(resImage2),gray),plt.title(variance4) plt.subplot(233),plt.imshow(itk.GetArrayFromImage(resImage3),gray),plt.title(variance8) plt.subplot(234),plt.imshow(itk.GetArrayFromImage(resImage4),gray),plt.title(variance15) plt.subplot(235),plt.imshow(itk.GetArrayFromImage(resImage5),gray),plt.title(variance30) plt.subplot(236),plt.imshow(itk.GetArrayFromImage(resImage6),gray),plt.title(variance50) plt.show()结果 7.曲率驱动流去噪图像 CurvatureFlowImageFilter #使用曲率驱动流去噪图像。https://examples.itk.org/src/filtering/anisotropicsmoothing/computecurvatureflow/documentation?highlightdenois #time_step越大迭代次数越多图像越暗 def DenoiseImageWithCurvatureDrivenFlow(inputImagePath,number_of_iterations,time_step):PixelType itk.FDimension 2ImageType itk.Image[PixelType, Dimension]reader itk.ImageFileReader[ImageType].New()reader.SetFileName(inputImagePath)reader.Update()ImageType type(reader.GetOutput())FilterType itk.CurvatureFlowImageFilter[ImageType, ImageType]curvatureFlowFilter FilterType.New()curvatureFlowFilter.SetInput(reader.GetOutput())curvatureFlowFilter.SetNumberOfIterations(number_of_iterations)curvatureFlowFilter.SetTimeStep(time_step)OutputImageType itk.Image[itk.UC,2]RescaleFilterType itk.RescaleIntensityImageFilter[ImageType, OutputImageType]rescaler RescaleFilterType.New()rescaler.SetInput(curvatureFlowFilter.GetOutput())outputPixelTypeMinimum itk.NumericTraits[itk.UC].min()outputPixelTypeMaximum itk.NumericTraits[itk.UC].max()rescaler.SetOutputMinimum(outputPixelTypeMinimum)rescaler.SetOutputMaximum(outputPixelTypeMaximum)outputFileName outImage_str(number_of_iterations)_str(time_step).pngsaveImage(rescaler.GetOutput(),outputFileName)return rescaler.GetOutput()#使用曲率驱动流去噪图像 resImage1 DenoiseImageWithCurvatureDrivenFlow(imagePath1,1,0.5) resImage2 DenoiseImageWithCurvatureDrivenFlow(imagePath1,3,0.5) resImage3 DenoiseImageWithCurvatureDrivenFlow(imagePath1,6,0.5) resImage4 DenoiseImageWithCurvatureDrivenFlow(imagePath1,1,2.5) resImage5 DenoiseImageWithCurvatureDrivenFlow(imagePath1,3,2.5) resImage6 DenoiseImageWithCurvatureDrivenFlow(imagePath1,6,2.5) plt.subplot(231),plt.imshow(itk.GetArrayFromImage(resImage1),gray),plt.title(iterations1,time_step 0.5) plt.subplot(232),plt.imshow(itk.GetArrayFromImage(resImage2),gray),plt.title(iterations3,time_step 0.5) plt.subplot(233),plt.imshow(itk.GetArrayFromImage(resImage3),gray),plt.title(iterations6,time_step 0.5) plt.subplot(234),plt.imshow(itk.GetArrayFromImage(resImage4),gray),plt.title(iterations1,time_step 2.5) plt.subplot(235),plt.imshow(itk.GetArrayFromImage(resImage5),gray),plt.title(iterations3,time_step 2.5) plt.subplot(236),plt.imshow(itk.GetArrayFromImage(resImage6),gray),plt.title(iterations6,time_step 2.5) plt.show()结果 8.由参数alpha和beta控制的幂律自适应直方图均衡化 # 应用由参数alpha和beta控制的幂律自适应直方图均衡化。 # https://examples.itk.org/src/filtering/imagestatistics/adaptivehistogramequalizationimagefilter/documentation?highlighthistogram # 参数alpha控制了过滤器有多像经典直方图均衡化方法(alpha 0)到过滤器有多像非锐化蒙版(alpha 1)。 # 参数beta控制过滤器在多大程度上像非锐化蒙版(beta 0)和过滤器在多大程度上像穿透(beta 1其中alpha 1)。 # 参数窗口(或半径)控制计算局部统计信息的区域的大小。 # alpha:浮点型 beta:浮点型 radius整型 def ImageHistogramEqualization(inputImage,alpha,beta,radius):ImageType type(inputImage)histogramEqualization itk.AdaptiveHistogramEqualizationImageFilter[ImageType].New()histogramEqualization.SetInput(inputImage)histogramEqualization.SetAlpha(alpha)histogramEqualization.SetBeta(beta)radiusArr itk.Size[2]()radiusArr.Fill(radius)histogramEqualization.SetRadius(radiusArr)outputFileName outImage_str(alpha)_str(beta)_str(radius).pngitk.imwrite(histogramEqualization, outputFileName)return histogramEqualization.GetOutput()#自适应直方图均衡化 resImage1 ImageHistogramEqualization(image1,0.0,1.0,3) resImage2 ImageHistogramEqualization(image1,1.0,0.0,3) resImage3 ImageHistogramEqualization(image1,0.5,0.5,3) resImage4 ImageHistogramEqualization(image1,0.0,1.0,7) resImage5 ImageHistogramEqualization(image1,1.0,0.0,7) resImage6 ImageHistogramEqualization(image1,0.5,0.5,7) plt.subplot(231),plt.imshow(itk.GetArrayFromImage(resImage1),gray),plt.title(alpha0.0,beta1.0,radius3) plt.subplot(232),plt.imshow(itk.GetArrayFromImage(resImage2),gray),plt.title(alpha1.0,beta0.0,radius3) plt.subplot(233),plt.imshow(itk.GetArrayFromImage(resImage3),gray),plt.title(alpha0.5,beta0.5,radius3) plt.subplot(234),plt.imshow(itk.GetArrayFromImage(resImage4),gray),plt.title(alpha0.0,beta1.0,radius7) plt.subplot(235),plt.imshow(itk.GetArrayFromImage(resImage5),gray),plt.title(alpha1.0,beta0.0,radius7) plt.subplot(236),plt.imshow(itk.GetArrayFromImage(resImage6),gray),plt.title(alpha0.5,beta0.5,radius7) plt.show()结果 9.Canny 边缘检测 用之前的图像存在问题以后有时间找原因 #使用 Canny 边缘检测过滤器检测边缘 #https://examples.itk.org/src/filtering/imagefeature/detectedgeswithcannyedgedetectionfilter/documentation?highlightedge def CannyEdgeDetectionImageFilter(inputImagePath,variance,lower_threshold,upper_threshold):InputPixelType itk.FOutputPixelType itk.UCDimension 2InputImageType itk.Image[InputPixelType, Dimension]OutputImageType itk.Image[OutputPixelType, Dimension]reader itk.ImageFileReader[InputImageType].New()reader.SetFileName(inputImagePath)cannyFilter itk.CannyEdgeDetectionImageFilter[InputImageType, InputImageType].New()cannyFilter.SetInput(reader.GetOutput())cannyFilter.SetVariance(variance)cannyFilter.SetLowerThreshold(lower_threshold)cannyFilter.SetUpperThreshold(upper_threshold)rescaler itk.RescaleIntensityImageFilter[InputImageType, OutputImageType].New()rescaler.SetInput(cannyFilter.GetOutput())rescaler.SetOutputMinimum(0)rescaler.SetOutputMaximum(255)outputFileName outImage_str(variance)_str(lower_threshold)_str(upper_threshold).pngsaveImage(rescaler.GetOutput(),outputFileName)return rescaler.GetOutput()#Canny 边缘检测 imagePath1 rD:\dell\picture\lena.png resImage1 CannyEdgeDetectionImageFilter(imagePath1,0.1,0,255) resImage2 CannyEdgeDetectionImageFilter(imagePath1,0.5,0,255) resImage3 CannyEdgeDetectionImageFilter(imagePath1,1.0,0,255) resImage4 CannyEdgeDetectionImageFilter(imagePath1,5.0,0,255) resImage5 CannyEdgeDetectionImageFilter(imagePath1,10.0,0,255) resImage6 CannyEdgeDetectionImageFilter(imagePath1,50.0,0,255) plt.subplot(231),plt.imshow(itk.GetArrayFromImage(resImage1),gray),plt.title(variance0.1) plt.subplot(232),plt.imshow(itk.GetArrayFromImage(resImage2),gray),plt.title(variance0.5) plt.subplot(233),plt.imshow(itk.GetArrayFromImage(resImage3),gray),plt.title(variance1.0) plt.subplot(234),plt.imshow(itk.GetArrayFromImage(resImage4),gray),plt.title(variance5.0) plt.subplot(235),plt.imshow(itk.GetArrayFromImage(resImage5),gray),plt.title(variance10) plt.subplot(236),plt.imshow(itk.GetArrayFromImage(resImage6),gray),plt.title(variance50) plt.show()结果 10.Sobel边缘检测和基于过零的边缘检测 #将 SobelEdgeDetectionImageFilter 应用于图像 #https://examples.itk.org/src/filtering/imagefeature/sobeledgedetectionimagefilter/documentation?highlightedge def SobelEdgeDetectionImageFilter(inputImagePath):input_image itk.imread(inputImagePath, pixel_typeitk.F)output_image itk.sobel_edge_detection_image_filter(input_image)rescaler itk.RescaleIntensityImageFilter[type(output_image), itk.Image[itk.UC, 2]].New()rescaler.SetInput(output_image)rescaler.SetOutputMinimum(0)rescaler.SetOutputMaximum(255)outputFileName outImage_obelEdgeDetection.pngsaveImage(rescaler.GetOutput(),outputFileName)return rescaler.GetOutput()#基于过零的边缘检测 #https://examples.itk.org/src/filtering/imagefeature/zerocrossingbasededgedecor/documentation?highlightedge def ZerocrossingEdgeDetecor(inputImagePath,variance5.0):FloatImageType itk.Image[itk.F, 2]FilterType itk.ZeroCrossingBasedEdgeDetectionImageFilter[FloatImageType, FloatImageType]input_image itk.imread(inputImagePath, pixel_typeitk.F)edgeDetector FilterType.New()edgeDetector.SetInput(input_image)edgeDetector.SetVariance(variance)rescaler itk.RescaleIntensityImageFilter[type(edgeDetector.GetOutput()), itk.Image[itk.UC, 2]].New()rescaler.SetInput(edgeDetector.GetOutput())rescaler.SetOutputMinimum(0)rescaler.SetOutputMaximum(255)outputFileName outImage_ZerocrossingEdgeDetectionstr(variance).pngsaveImage(rescaler.GetOutput(),outputFileName)return rescaler.GetOutput()#Sobel边缘检测 resImage1 SobelEdgeDetectionImageFilter(imagePath1)# 基于过零的边缘检测 resImage2 ZerocrossingEdgeDetecor(imagePath1,0.1) resImage3 ZerocrossingEdgeDetecor(imagePath1,0.5) resImage4 ZerocrossingEdgeDetecor(imagePath1,1.0) resImage5 ZerocrossingEdgeDetecor(imagePath1,5.0) resImage6 ZerocrossingEdgeDetecor(imagePath1,20.0)plt.subplot(231),plt.imshow(itk.GetArrayFromImage(resImage1),gray),plt.title(Sobel) plt.subplot(232),plt.imshow(itk.GetArrayFromImage(resImage2),gray),plt.title(variance0.1) plt.subplot(233),plt.imshow(itk.GetArrayFromImage(resImage3),gray),plt.title(variance0.5) plt.subplot(234),plt.imshow(itk.GetArrayFromImage(resImage4),gray),plt.title(variance1) plt.subplot(235),plt.imshow(itk.GetArrayFromImage(resImage5),gray),plt.title(variance5) plt.subplot(236),plt.imshow(itk.GetArrayFromImage(resImage6),gray),plt.title(variance20) plt.show() 结果
http://www.hkea.cn/news/14525926/

相关文章:

  • 龙岩网站设计招聘网广告投放网
  • 网站建设加盟招商qq代刷网站推广免费
  • 电商网站设计思维导图关注网站制作
  • 维护网站多少钱企业查询天眼查入口
  • 游戏公司seo关键词选择及优化
  • 个人备案网站营业执照家装公司电话
  • 国外做的好的医疗网站设计北京互联网公司排行榜
  • 网站底部 设计信阳网站seo
  • 中山建设局网站购物商城平台开发
  • 租赁商城手机网站开发企业展厅设计公司口碑好的原因
  • 中国建设银行官方网站登录入口怎么黑人网站
  • 一站式手机网站制作wordpress标题图标
  • 网站安全检测报告中国建设工程项目网
  • 财富半岛建设购物网站花钱让别人做的网站版权是谁的
  • html5网站编写大港天津网站建设
  • 空调设备公司网站建设wordpress 查询文章
  • 十堰网站seo方法展厅设计企业展厅设计公司
  • 万网搭建淘宝客网站wordpress设置可写
  • 网站作业成品在线设计公司logo
  • 站群 wordpressWordPress如何配置用QQ邮箱
  • 天津平台网站建设报价天津力天装饰有限公司
  • 高端定制外贸网站专业seo整站优化
  • 做建筑机械网站那个网站好中国建设银行网站易方达消费
  • 三亚建设信息网站网站开发需要什么人员
  • 建设营销型网站不足之处泉州 网站制作
  • 长沙百度网站推广公司制作只有一张图片的网站
  • 网站维护与建设考试做网站的费用计入哪个科目
  • 做的好的茶叶网站wordpress frame
  • 石家庄网站建设哪家好深圳广胜达建设公司
  • 网站导航漂浮代码如意宝魔方建站