OpenCV-DFT の最適サイズ cv::getOptimalDFTSize
2022-02-09 09:35:49
著者 スティーブン・ザイ ティエンバオ
著作権について 著作権は著者に帰属します。商業的な複製は著者に、非商業的な複製は出典を明記してください。
機能プロトタイプ
int getOptimalDFTSize(int vecsize);
パラメータの説明
- int 型の vecsize で、ベクターサイズ、通常は画像の幅または高さです。
テストコード
#include<iostream>
#include<opencv2/opencv.hpp>
#include<ctime>
using namespace std;
using namespace cv;
cv::Mat image_make_border(cv::Mat &src);
int main(void)
{
Mat test = imread("liu.jpg", 0);
cv::Mat result = image_make_border(test);
imshow("original", test);
imshow("result", result/255);
waitKey(0);
system("pause");
return 0;
}
// Image boundary processing
cv::Mat image_make_border(cv::Mat &src)
{
cout << "src row:" << src.rows << endl;
cout << "src col:" << src.cols << endl;
int w = cv::getOptimalDFTSize(src.cols); // Get the optimal width of the DFT transform
int h = cv::getOptimalDFTSize(src.rows); // Get the optimal height of the DFT transformation
cout << "w:" << w << endl;
cout << "h:" << h << endl;
cv::Mat padded;
// Constant method to expand image boundaries, constant = 0
cv::copyMakeBorder(src, padded, 0, h - src.rows, 0, w - src.cols, cv::BORDER_CONSTANT, cv::Scalar::all(0));
padded.convertTo(padded, CV_32FC1);
return padded;
}
テスト結果
<図
図2 拡大画像
<図
図3 立体視の変化
この関数は、離散フーリエ変換に最適な画像のサイズを自動的に計算し、計算速度を向上させます。図に見られるように、幅は非常に適切ですが、高さは4096に拡張する必要があり、その結果、下の黒い線の部分が余分にできます。拡張した値は、後述のcopyMakeBorder関数で決定します〜。
もしこの記事が役に立ったなら、いいね!で教えてくれたら嬉しいです~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!乾杯
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ハートビート・エフェクトのためのHTML+CSS
-
HTML ホテル フォームによるフィルタリング
-
HTML+cssのボックスモデル例(円、半円など)「border-radius」使いやすい
-
HTMLテーブルのテーブル分割とマージ(colspan, rowspan)
-
ランダム・ネームドロッパーを実装するためのhtmlサンプルコード
-
Html階層型ボックスシャドウ効果サンプルコード
-
QQの一時的なダイアログボックスをポップアップし、友人を追加せずにオンラインで話す効果を達成する方法
-
sublime / vscodeショートカットHTMLコード生成の実装
-
HTMLページを縮小した後にスクロールバーを表示するサンプルコード
-
html のリストボックス、テキストフィールド、ファイルフィールドのコード例