等待图像的格式更改

Posted

技术标签:

【中文标题】等待图像的格式更改【英文标题】:Wait for the format change of an image 【发布时间】:2021-02-27 13:27:05 【问题描述】:

在一个项目中,我需要设置一个与人脸检测相关的裁剪器。人脸检测效果很好,但裁剪器用它的对象修改了图像的格式,人脸检测器返回的坐标是错误的。您知道如何在使用裁剪界面修改图像后应用人脸检测器吗?

  var image = document.getElementById('img');
  var cropper = new Cropper(image, 
    /*      aspectRatio: 9 / 16,*/
    // autoCrop: true,
    scalable: false,
    cropBoxResizable: false,
    guides: true,
    dragMode: 'none',
    preview: '.preview',
    data:
      width: 250,
      height:  325,
    ,
    crop: function(e) 
      $('#x').val(e.detail.x);
      $('#y').val(e.detail.y);
      $('#w').val(e.detail.width);
      $('#h').val(e.detail.height);
    ,
  );
  $('#img').faceDetection(
    complete: function (faces) 
      console.log(faces)
      initx = faces[0].x;
      inity = faces[0].y;
      cropper.data(x:120,y:init);
    
  );

【问题讨论】:

【参考方案1】:

您可能需要首先获取坐标,然后使用这些坐标启动Cropper,如下所示:

const img = $('img');
img.faceDetection(
  complete: function (faces) 
    initCropper(faces[0]);
  
);

function initCropper(data) 
  cropper = new Cropper(img[0], 
    data
  );

https://jsbin.com/keruzal/edit?js,output

【讨论】:

感谢您的回复,但您的解决方案返回错误:Uncaught DOMException: Index or size is negative or greater than the allowed amount您知道如何解决此问题吗? 你确定它能找到面孔吗?你能在 jsbin 或其他东西中重现这个问题,以便我可以尝试调试它吗?

以上是关于等待图像的格式更改的主要内容,如果未能解决你的问题,请参考以下文章

在 opencl 中更改 Directx 获取表面的图像格式

以PDF格式更改图像

如何更改图像源,在 GUI 中显示并在之后运行一些代码? [复制]

IntelliJ IDEA 在项目中禁用编辑/格式化 .svg 图像

在先通道和最后通道之间更改图像通道顺序的正确方法是啥?

Movilizer - 更改捕获图像的名称