public void FromHSIImage(HSIImage hslimage) { ImageMatrix[0] = new DenseMatrix(hslimage.RowCount, hslimage.ColumnCount); ImageMatrix[1] = new DenseMatrix(hslimage.RowCount, hslimage.ColumnCount); ImageMatrix[2] = new DenseMatrix(hslimage.RowCount, hslimage.ColumnCount); int x, y; double r, g, b; for(x = 0; x < ColumnCount; ++x) { for(y = 0; y < RowCount; ++y) { HSIToRGB(hslimage[y, x, HSIChannel.Hue], hslimage[y, x, HSIChannel.Saturation], hslimage[y, x, HSIChannel.Intensity], out r, out g, out b); this[y, x, RGBChannel.Red] = r; this[y, x, RGBChannel.Green] = g; this[y, x, RGBChannel.Blue] = b; } } }
public HSIImageDebugView(HSIImage img) { _image = img; }
public IImage Clone() { HSIImage img = new HSIImage() { ImageMatrix = new Matrix<double>[3], }; img.ImageMatrix[0] = ImageMatrix[0].Clone(); img.ImageMatrix[1] = ImageMatrix[1].Clone(); img.ImageMatrix[2] = ImageMatrix[2].Clone(); return img; }
public void StretchHistogram(HSIImage image) { HistogramOperations.StretchHistogram(image); }
public void SaturateRatioHistogram(HSIImage image) { HistogramOperations.SaturateRatioHistogram(image, SaturateRatioLow, SaturateRatioHigh); }
public void EqualizeHistogram(HSIImage image) { HistogramOperations.EqualizeHistogram(image); }