How to fix image perspective distortion and rotation with JavaScript?

前端 未结 3 1170
臣服心动
臣服心动 2021-02-02 03:51

I have some images that takes using mobile phone. Is there any JavaScript library which can straighten the photo of a paper and flatten it? For example I want to create a rectan

相关标签:
3条回答
  • 2021-02-02 04:31

    Looks like https://www.npmjs.com/package/perspective-transform is what you are looking for.

    Create functions to map points from one arbitrary quadrilateral to another and vice versa with the inverse

    0 讨论(0)
  • 2021-02-02 04:38

    JSFeat can do that for you. There even is an example for perspective distortion. You'll have to add/compute the source and destination points yourself.

    0 讨论(0)
  • 2021-02-02 04:39

    There is no need of any extra npm package, this can be achieved by creation a irregular crop box, first load the image into a canvas, one should adjust 4 cropping points over image, put the portion into a regular rectangular canvas.

    Follow this link for detailed code and steps Image Perspective correction using javascript and opencv

    Here is the demo

    let dst = new cv.Mat();
    let dsize = new cv.Size(imageHeight, imageWidth);
    let srcTri = cv.matFromArray(4, 1, cv.CV_32FC2, pointsArray);
    let dstTri = cv.matFromArray(4, 1, cv.CV_32FC2, [0, 0, imageHeight, 0, imageHeight, imageWidth, 0, imageWidth]);
    let M = cv.getPerspectiveTransform(srcTri, dstTri);
    cv.warpPerspective(src, dst, M, dsize, cv.INTER_LINEAR, cv.BORDER_CONSTANT, new cv.Scalar());
    document.getElementById('imageInit').style.display = "none"
    cv.imshow('imageResult', dst);
    
    0 讨论(0)
提交回复
热议问题