Tag: 图像处理

索贝尔过滤器使用

我无法实现Sobele滤波器的边缘检测。 首先,我使用SOBEL_VERTICAL和SOBEL_HORIZONTAL卷积,然后使用以下公式计算像素的颜色:G = sqrt(Gx * Gx + Gy * Gy) 码: val log = KotlinLogging.logger { } val width = fastImage.width val height = fastImage.height override fun filter(): FastImage { val convolution = Convolution(fastImage) val obsSobelHorizontal = Observable.fromCallable { convolution.convolve(Convolution.SOBEL_HORIZONTAL) } val obsSobelVertical = Observable.fromCallable { convolution.convolve(Convolution.SOBEL_VERTICAL) } var fastImageSobel: FastImage? = null Observable.zip(obsSobelHorizontal, obsSobelVertical, […]

使用RenderScript创建HSV直方图

我必须使用Android中的RenderScript从ARGB阵列创建HSV直方图。 这是我第一次使用RenderScript,我不确定是否因为性能不好而犯了错误。 从1920×1080位图创建HSV直方图需要100到150毫秒。 RenderScript代码: #pragma version(1) #pragma rs java_package_name(com.test.renderscript) #pragma rs_fp_relaxed uchar3 bins; rs_allocation histogramAllocation; void __attribute__((kernel)) process(uchar4 in) { float r = in.r / 255.0; float g = in.g / 255.0; float b = in.b / 255.0; // convert rgb to hsv float minRGB = min( r, min( g, b ) ); float maxRGB […]