예제 #1
0
 public  void PrewittAmp(ImageBase src_Image, ImageBase dst_Image)
 {
     HObject dst;
     HOperatorSet.PrewittAmp(src_Image.GetImage, out dst);
     dst_Image.CopyImagetoThis(dst);
     dst.Dispose();
 }
예제 #2
0
 public  void FillInterlace(ImageBase src_Image, ImageBase dst_Image)
 {
     HObject dst;
     HOperatorSet.FillInterlace(src_Image.GetImage, out dst, "odd");
     dst_Image.CopyImagetoThis(dst);
     dst.Dispose();
 }
예제 #3
0
 public  void DiffOfGauss(ImageBase src_Image, ImageBase dst_Image)
 {
     HObject dst;
     HOperatorSet.DiffOfGauss(src_Image.GetImage, out dst, 3, 1.6);
     dst_Image.CopyImagetoThis(dst);
     dst.Dispose();
 }
예제 #4
0
 public  void DerivateGauss(ImageBase src_Image, ImageBase dst_Image)
 {
     HObject dst;
     HOperatorSet.DerivateGauss(src_Image.GetImage, out dst, 1, "x");
     dst_Image.CopyImagetoThis(dst);
     dst.Dispose();
 }
예제 #5
0
 public void GrayErosionRect(ImageBase src_Image, ImageBase dst_Image)
 {
     HObject dst;
     HOperatorSet.GrayErosionRect(src_Image.GetImage, out dst, 20, 20);
     dst_Image.CopyImagetoThis(dst);
     dst.Dispose();
 }
예제 #6
0
 /*CoherenceEnhancingDiff
 Sigma (input_control)  real → (real)
 Smoothing for derivative operator.
     Default value: 0.5
     Suggested values: 0.0, 0.1, 0.5, 1.0
     Restriction: Sigma >= 0
 Rho (input_control)  real → (real)
 Smoothing for diffusion coefficients.
     Default value: 3.0
     Suggested values: 0.0, 1.0, 3.0, 5.0, 10.0, 30.0
     Restriction: Rho >= 0
 Theta (input_control)  real → (real)
 Time step.
     Default value: 0.5
     Suggested values: 0.1, 0.2, 0.3, 0.4, 0.5
     Restriction: (0 < Theta) <= 0.5
 Iterations (input_control)  integer → (integer)
 Number of iterations.
     Default value: 10
     Suggested values: 1, 5, 10, 20, 50, 100, 500
     Restriction: Iterations >= 1
 */
 public  void CoherenceEnhancingDiff(ImageBase src_Image, ImageBase dst_Image, HTuple sigma, HTuple rho, HTuple theta, HTuple iterations)
 {
     HObject dst;
     HOperatorSet.CoherenceEnhancingDiff(src_Image.GetImage, out dst, sigma, rho, theta, iterations);
     dst_Image.CopyImagetoThis(dst);
     dst.Dispose();
 }
예제 #7
0
 /*Emphasize
 MaskWidth (input_control)  extent.x → (integer)
 Width of low pass MaskBase.
     Default value: 7
     Suggested values: 3, 5, 7, 9, 11, 15, 21, 25, 31, 39
     Typical range of values: 3 ≤ MaskWidth ≤ 201
     Minimum increment: 2
     Recommended increment: 2
 MaskHeight (input_control)  extent.y → (integer)
 Height of the low pass MaskBase.
     Default value: 7
     Suggested values: 3, 5, 7, 9, 11, 15, 21, 25, 31, 39
     Typical range of values: 3 ≤ MaskHeight ≤ 201
     Minimum increment: 2
     Recommended increment: 2
 Factor (input_control)  real → (real)
 Intensity of contrast emphasis.
     Default value: 1.0
     Suggested values: 0.3, 0.5, 0.7, 1.0, 1.4, 1.8, 2.0
     Typical range of values: 0.0 ≤ Factor ≤ 20.0 (sqrt)
     Minimum increment: 0.01
     Recommended increment: 0.2
     Restriction: (0 < Factor) && (Factor < 20)
 */
 public  void Emphasize(ImageBase src_Image, ImageBase dst_Image,MaskBase maskEmphasize, HTuple factor)
 {
     HObject dst;
     HOperatorSet.Emphasize(src_Image.GetImage, out dst, maskEmphasize.W, maskEmphasize.H, factor);
     dst_Image.CopyImagetoThis(dst);
     dst.Dispose();
 }
예제 #8
0
 public  void GaussFilter(ImageBase src_Image, ImageBase dst_Image)
 {
     HObject dst;
     HOperatorSet.GaussFilter(src_Image.GetImage, out dst, 5);
     dst_Image.CopyImagetoThis(dst);
     dst.Dispose();
 }
예제 #9
0
 public  void MeanSp(ImageBase src_Image, ImageBase dst_Image)
 {
     HObject dst;
     HOperatorSet.MeanSp(src_Image.GetImage, out dst, 3, 3, 1, 254);
     dst_Image.CopyImagetoThis(dst);
     dst.Dispose();
 }
예제 #10
0
 public  void CoherenceEnhancingDiff(ImageBase src_Image, ImageBase dst_Image)
 {
     HObject dst;
     HOperatorSet.CoherenceEnhancingDiff(src_Image.GetImage, out dst, 0.5, 3, 0.5, 10);
     dst_Image.CopyImagetoThis(dst);
     dst.Dispose();
 }
예제 #11
0
 public  void IsotropicDiffusion(ImageBase src_Image, ImageBase dst_Image)
 {
     HObject dst;
     HOperatorSet.IsotropicDiffusion(src_Image.GetImage, out dst, 1, 10);
     dst_Image.CopyImagetoThis(dst);
     dst.Dispose();
 }
 public void ZoomImageFactor(ImageBase srcImage, ImageBase dstImage, HTuple scaleWidth, HTuple scaleHeight)
 {
     HObject tempImage = null;
     HOperatorSet.ZoomImageFactor(srcImage.GetImage, out tempImage, scaleWidth, scaleHeight, "constant");
     dstImage.CopyImagetoThis(tempImage);
     tempImage.Dispose();
 }
예제 #13
0
 public  void MedianImage(ImageBase src_Image, ImageBase dst_Image)
 {
     HObject dst;
     HOperatorSet.MedianImage(src_Image.GetImage, out dst, "circle", 1, "mirrored");
     dst_Image.CopyImagetoThis(dst);
     dst.Dispose();
 }
예제 #14
0
 public  void EliminateMinMax(ImageBase src_Image, ImageBase dst_Image)
 {
     HObject dst;
     HOperatorSet.EliminateMinMax(src_Image.GetImage, out dst, 3, 3, 1, 3);
     dst_Image.CopyImagetoThis(dst);
     dst.Dispose();
 }
예제 #15
0
 public  void LaplaceOfGauss(ImageBase src_Image, ImageBase dst_Image)
 {
     HObject dst;
     HOperatorSet.LaplaceOfGauss(src_Image.GetImage, out dst, 2);
     dst_Image.CopyImagetoThis(dst);
     dst.Dispose();
 }
예제 #16
0
 public  void Laplace(ImageBase src_Image, ImageBase dst_Image)
 {
     HObject dst;
     HOperatorSet.Laplace(src_Image.GetImage, out dst, "absolute", 3, "n_4");
     dst_Image.CopyImagetoThis(dst);
     dst.Dispose();
 }
예제 #17
0
 public  void EdgesImage(ImageBase src_Image, ImageBase dst_Image)
 {
     HObject dst;
     HObject dst1;
     HOperatorSet.EdgesImage(src_Image.GetImage, out dst, out dst1, "canny", 1, "nms",20, 40);
     dst_Image.CopyImagetoThis(dst);
     dst.Dispose();
 }
 public void AffineTransImage(ImageBase srcImage, ImageBase dstImage, HTuple row, HTuple col , HTuple ang)
 {
     HTuple hv_HomMat2D=null;
     HObject tempImage = null;
     HOperatorSet.VectorAngleToRigid(srcImage.GetWidth / 2, srcImage.GetHeight / 2, 0 ,row ,col, ang , out hv_HomMat2D);
     HOperatorSet.AffineTransImage(srcImage.GetImage, out tempImage, hv_HomMat2D,"constant", "'false");
     dstImage.CopyImagetoThis(tempImage);
     tempImage.Dispose();
 }
 public ImageBase ChangeDomain(ImageBase image, RegionBase newregion)//取代原本的Region
 {
     ImageBase imagewithregion = new ImageBase();
     HObject temp;
     HOperatorSet.ChangeDomain(image.GetImage, newregion.GetROI, out temp);
     imagewithregion.CopyImagetoThis(temp);
     temp.Dispose();
     return imagewithregion;
 }
예제 #20
0
        public  void KirschDir(ImageBase src_Image, ImageBase dst_Image)
        {
            HObject dst;

            HObject dst1;
            HOperatorSet.KirschDir(src_Image.GetImage, out dst, out dst1);
            dst_Image.CopyImagetoThis(dst);
            dst.Dispose();
        }
 public ImageBase ReduceDomain(ImageBase image , RegionBase region)//基本上同Addchannels   將原有區域與Region取交集
 {
    
     ImageBase imagewithregion = new ImageBase();
     HObject temp;
     HOperatorSet.ReduceDomain(image.GetImage, region.GetROI, out temp);
     imagewithregion.CopyImagetoThis(temp);
     temp.Dispose();
     return imagewithregion;
 }
예제 #22
0
 public  void ScaleImageMax(ImageBase src_Image, ImageBase dst_Image)
 {
     HObject dst;
     HOperatorSet.ScaleImageMax(src_Image.GetImage, out dst);
     dst_Image.CopyImagetoThis(dst);
     dst.Dispose();
 }
예제 #23
0
 public  void MedianRect(ImageBase src_Image, ImageBase dst_Image)
 {
     HObject dst;
     HOperatorSet.MedianRect(src_Image.GetImage, out dst, 15, 15);
     dst_Image.CopyImagetoThis(dst);
     dst.Dispose();
 }
예제 #24
0
 public  void ShockFilter(ImageBase src_Image, ImageBase dst_Image)
 {
     HObject dst;
     HOperatorSet.ShockFilter(src_Image.GetImage, out dst, 0.5, 10, "canny", 1);
     dst_Image.CopyImagetoThis(dst);
     dst.Dispose();
 }
예제 #25
0
 /*ShockFilter
 Theta (input_control)  real → (real)
 Time step.
     Default value: 0.5
     Suggested values: 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7
     Restriction: (0 < Theta) <= 0.7
 Iterations (input_control)  integer → (integer)
 Number of iterations.
     Default value: 10
     Suggested values: 1, 3, 10, 100
     Restriction: Iterations >= 1
 Mode (input_control)  string → (string)
 Type of edge detector.
     Default value: 'canny'
     List of values: 'canny', 'laplace'
 Sigma (input_control)  real → (real)
 Smoothing of edge detector.
     Default value: 1.0
     Suggested values: 0.0, 0.5, 1.0, 2.0, 5.0
     Restriction: Theta >= 0
     */
 public  void ShockFilter(ImageBase src_Image, ImageBase dst_Image, HTuple theta, HTuple iterations, HTuple mode, HTuple sigma)
 {
     HObject dst;
     HOperatorSet.ShockFilter(src_Image.GetImage, out dst, theta, iterations, mode, sigma);
     dst_Image.CopyImagetoThis(dst);
     dst.Dispose();
 }
예제 #26
0
 public  void Emphasize(ImageBase src_Image, ImageBase dst_Image)
 {
     HObject dst;
     HOperatorSet.Emphasize(src_Image.GetImage, out dst, 7, 7, 1);
     dst_Image.CopyImagetoThis(dst);
     dst.Dispose();
 }
예제 #27
0
 public  void EquHistoImage(ImageBase src_Image, ImageBase dst_Image)
 {
     HObject dst;
     HOperatorSet.EquHistoImage(src_Image.GetImage, out dst);
     dst_Image.CopyImagetoThis(dst);
     dst.Dispose();
 }
예제 #28
0
 public  void MedianWeighted(ImageBase src_Image, ImageBase dst_Image)
 {
     HObject dst;
     HOperatorSet.MedianWeighted(src_Image.GetImage, out dst, "inner", 3);
     dst_Image.CopyImagetoThis(dst);
     dst.Dispose();
 }
예제 #29
0
 public  void SmoothImage(ImageBase src_Image, ImageBase dst_Image)
 {
     HObject dst;HOperatorSet.SmoothImage(src_Image.GetImage, out dst, "deriche2", 0.5);
     dst_Image.CopyImagetoThis(dst);
     dst.Dispose();
 }
예제 #30
0
 public  void SigmaImage(ImageBase src_Image, ImageBase dst_Image)
 {
     HObject dst;
     HOperatorSet.SigmaImage(src_Image.GetImage, out dst, 5, 5, 3);
     dst_Image.CopyImagetoThis(dst);
     dst.Dispose();
 }