Skip to content

Instantly share code, notes, and snippets.

@kjunichi
Last active May 11, 2018 02:15
Show Gist options
  • Save kjunichi/7923577 to your computer and use it in GitHub Desktop.
Save kjunichi/7923577 to your computer and use it in GitHub Desktop.

2017年ころ

公式でEmscripteでビルドすることで、OpenCVのJs版が利用可能になっている。

関連記事


ここからは、Emscriptenではなく、独自にJavaScriptで実装されていた時代の話

input fileタグでなく、Canvasやimgタグの画像を扱うには

cvLoadImagePre

何やってるのか

パスを空文字列に初期化しているのみ

cvLoadImage

cvLoadImageAtEventFile

cvLoadImageAtEventFile

var originalSize = cvGetOriginalSizeAtImgElement(imgElement);
var scale = 1;
if(maxSize != -1 && (originalSize.width > maxSize || originalSize.height > maxSize))
  scale = (originalSize.width > originalSize.height) ?
                                               maxSize / originalSize.width : maxSize / originalSize.height;
  imgElement.width = scale * originalSize.width;
                                 imgElement.height = scale * originalSize.height;
                                 iplImage.canvas = cvGetCanvasAtImgElement(imgElement);
                                 iplImage.width = iplImage.canvas.width;
                                 iplImage.height = iplImage.canvas.height;
                                 iplImage.RGBA = new Array(iplImage.width * iplImage.width * CHANNELS);
                                 iplImage.imageData = iplImage.canvas.getContext("2d").getImageData(0, 0, iplImage.canvas.width, iplImage.canvas.height);
                                 cvImageData2RGBA(iplImage);



iplImage.imageData = iplImage.canvas.getContext("2d").getImageData(0, 0, iplImage.canvas.width, iplImage.canvas.height);

cvGetCanvasAtImgElement

これだ

iplImage.imageData = iplImage.canvas.getContext("2d").getImageData(0, 0, iplImage.canvas.width, iplImage.canvas.height);

jsdo.itの作品

Link

関連Gist

アクセス解析タグ

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment