2016-06-14 1 views
0

私はoilfyフィルターをopenCVを使って実装しようとしており、this codeに出くわしました。OilFy in OpenCV

コードにはgd2 libが使用されています。しかし、私のアプリケーションはすでに画像処理にOpenCVを使用しているので、別のlibを使用することはお勧めしません。

私は、次のコードは、

for (y = 0; y < maskHeight; y++) 
{ 
    for (x = 0; x < maskWidth; x++) 
    { 
     index = y * maskWidth + x; 
     rTable[index] = (double) gdImageRed(imageptr,gdImageGetPixel(imageptr,w + x - maskWidth/2, h + y - maskHeight/2)); 
     gTable[index] = (double) gdImageGreen(imageptr,gdImageGetPixel(imageptr,w + x - maskWidth/2, h + y - maskHeight/2)); 
     bTable[index] = (double) gdImageBlue(imageptr,gdImageGetPixel(imageptr,w + x - maskWidth/2, h + y - maskHeight/2)); 
    } 
} 

は、誰かが、oilfyアルゴリズムを理解することで私を助けるか、どのようにOpenCVのにコードを変換するために教えてもらえます何をするか理解できませんでしたか?

オイルフィー効果のためのopenCVコードは非常に役に立ちます。

+0

gdImageRedとgdImageGetPixel?についての適切なAPIドキュメントを見つけましたか?あなたが同じように出会った場合は、私に知らせてください。 また、 'w + x - maskWidth/2、h + y - maskHeight/2'は当初-ve値になります。 'gdImageGetPixel(imageptr、-5、-5)'が何を返すかわからない。 – matt007

答えて

0

このリンクをチェックアウト - https://libgd.github.io/manuals/2.2.3/files/gd-c.html#gdImageGetPixel

gdImageGetPixel整数format.Thisにおけるその画素の色値がRGBの組み合わせが含ま返します。ピクセルはgdImagePtr objectで示され、続いてx and y co-ordinates of the pixelが画像内に表示されます。

gdImageRedは、同様にgdImageBluegdImageGreenの赤色の輝度値を返します。