2016-04-28 4 views
0

iOSアプリケーションにopenCVフレームワークを使用しています。私は全体のプロセスの53%を占める形態学的操作における最適化を探しています。以下の形態学的操作のためのコードです:あなたは、私が閉鎖動作と同等である拡張、続い浸食を適用していますご覧のようiOSでのモルフォロジー操作の最適化OpenCV

// MARK: Closing the image (Method-1) 
    cv:: Mat bw2; 
    cv:: Mat erodedBW2; 
    cv:: Mat se = getStructuringElement(0, cv::Size(140,140)); 
    cv::dilate(Bw_med, bw2, se); 
    cv::erode(bw2, erodedBW2, se); 

// MARK: Closing the image (Method-2) 
    cv::morphologyEx(BW_med, erodedBW2, cv::MORPH_CLOSE, se); 

。私はMorphologyExを使用してクローズ操作を試みました。パフォーマンスはまだ同じです(上記のコードに含まれています)最適化の方法はありますか?

+0

浸食とその後の膨張は開口部であり閉鎖部ではありませんが、問題は変わりません。さらに、エロージョン+膨張と開口を行うことはまったく同じで、同じ処理時間です。 Marc Van Droogenbroeckライブラリを見ると、彼は1回の操作で開閉を行う方法がありますが、境界処理は異なります。さらに、彼のライブラリは分解可能な構造要素のために最適化されており、OpenCVではそうではないと思う。 – FiReTiTi

答えて

0

構造要素は非常に大:140x140です。あなたは本当にそれほど必要ですか? 5x5で試してみて、結果をゆっくりと上げてください。

+0

はい。今まで私は様々な論文をテキストで試してきましたが、140が最適であることがわかりました。ほぼクリーンな紙の場合は、30枚で十分です。照明が均一ではない多くの異なるケースを考慮する必要があります。私がポストで見逃したことは、この形態学的操作の目的は、不均一な背景が存在する場合にそれを排除することであるということである。 – Nasiba

+0

次はイメージの解像度を下げることです。 AFAIK opencvのmorpho演算子は、n個のイメージピクセルとk個の構造要素ピクセルではほぼ最適です(O(n * sqrt(k))。)イメージをタイル化して並列化しない限り、改善の余地はありません。 –

関連する問題