小编Ank*_*wal的帖子

使用OpenCV Java检测图像中文档的边界

我想检测android中文档的4个角。Iam使用opencv库。

Iam使用以下方法-(1)对图像进行灰度处理(2)应用中值模糊(3)应用自适应阈值(4)Canny边缘检测(5)找到轮廓(6)找到最大轮廓(7)获取边缘和角落最大轮廓

我的代码是

srcImg = Utils.loadResource(this, R.drawable.test1, Highgui.CV_LOAD_IMAGE_COLOR);
Imgproc.cvtColor(srcImg, srcImg, Imgproc.COLOR_BGR2GRAY);
Imgproc.medianBlur(srcImg, srcImg, 9);
Imgproc.adaptiveThreshold(srcImg, srcImg, 255, Imgproc.ADAPTIVE_THRESH_MEAN_C, Imgproc.THRESH_BINARY_INV, 11, 2);
Imgproc.Canny(srcImg, srcImg, 50, 80);


Imgproc.findContours(srcImg,contours , hierarchy, Imgproc.RETR_TREE, Imgproc.CHAIN_APPROX_SIMPLE);
Run Code Online (Sandbox Code Playgroud)

在进行精巧边缘检测后,由于许多点的轮廓边界被打破,因此图像中检测到的最大轮廓不是文档的实际边界。在某些图像中,最大轮廓线显示了边界的某些部分,但在某些图像中,轮廓线指向文档的中心或完全在文档外部

(A)在这种情况下我该如何继续?

我采用的另一种方法是应用houghs线变换并计算以90度角相交的线的交点,但在这种情况下无法获得精确点。当我放88

(B)如何处理那么多积分

(C)还是我需要遵循完全不同的方法?

java android opencv image-processing feature-detection

6
推荐指数
0
解决办法
7955
查看次数

Retrofit 2.0 Multipart Request,在包含文件的表单数据中发送布尔类型

我正在尝试使用改造 2.0 上传文件。除了文件之外,我还有一些其他参数要与表单数据一起发送,其中还包括布尔类型。我的请求声明是-

@Multipart
    @POST("/upload/abc")
    Call<UploadResponse> uploadToServer(@Part("img_file\";filename=\"image") RequestBody file,
                                             @Part("access_token") RequestBody sessionKey,
                                             @Part("is_final") Boolean isFinal,
                                             @Part("sequence_id") Integer sequenceId,
                                             @Part("entity_id") RequestBody entityId,
                                             @Part("image_type") RequestBody imageType);
Run Code Online (Sandbox Code Playgroud)

我正在使用 GsonConverterFactory。我尝试了两种方法 -

(1) 而不是@Part("is_final") Boolean isFinal我使用@Part("is_final") RequestBody isFinal和发送它RequestBody.create(MediaType.parse("text/plain"), String.valueOf(true))

(2) @Part("is_final") Boolean isFinalBoolean.true 的使用和发送。

在这两种情况下,服务器端收到的“is_final”是 Unicode 或作为字符串而不是布尔值。

实现这一目标的最佳方法是什么

android retrofit2

5
推荐指数
1
解决办法
5585
查看次数