Menu
Menu
Home
Trend
Network
Bazuri Time
OpenCV Documentation
Reference
openCV doc
Module(main)
objdetect
QRcode
猫認識
photo
Pencil Sketch
水彩画エフェクト(Water Color)
video
オプティカルフロー(calcOpticalFlowFarneback)
オプティカルフロー(calcOpticalFlowPyrLK)
オプティカルフロー(Practical:オーラグラフィー)
オプティカルフロー(Practical:グリッチ)
features2d
特徴点描画(単一画像)
Module(contrib)
dpm
Deformable Part Model
freetype
日本語テキスト
intensity_transform
輝度値補正
ximgproc
高速輪郭抽出
AnisotropicDiffusion
輪郭保管するノイズフィルタ(Reich-Wörgötter)
陰影を考慮した二値化処理
Pei-Lin Normalization
細線化
グラフ構造を考慮した領域分割
EdgeBoxes
xphoto
OilPaint
Gray World White Balance
Simple White Balance
Module(cuda)
cudafilters
LaplacianFilter
GaussianFilter
SobelFilter
ScharrFilter
MorphologyFilter
cudaimgproc
bilateralFilter
Canny
HoughLine
HoughCircle
CornerHarris
CornerMinEigenVal
輝度値補正
Gallery
src 元画像
log
gamma = 0.3
contrast stretch (r1,s1)=(25,100) (r2,s2)=(175,225)
what process?
・自動補正 (※ 何故か処理されない) ・ガンマ(指数)補正 ガンマ値が大きいほど黒偏重となり、小さいほど白偏重になる。 ・対数補正 ・コントラスト拡張 折れ線グラフでもって値を変換する。 ※ここでは、(r1,s1)=(25,100) (r2,s2)=(175,225)と設定。 詳細は https://theailearner.com/2019/01/30/contrast-stretching/ を参照。 の4つのアルゴリズムが用意されている。
cook code C++
#include <iostream> #include <opencv2/core.hpp> #include <opencv2/core/utility.hpp> #include <opencv2/imgproc.hpp> #include <opencv2/highgui.hpp> #include <opencv2/intensity_transform.hpp> int main(int argc, const char* argv[]) { cv::String keys = "{src||}"; cv::CommandLineParser parser(argc, argv, keys); cv::String src_path = parser.get<cv::String>("src"); std::string name = "Effect"; cv::namedWindow(name, cv::WINDOW_AUTOSIZE); cv::Mat src = cv::imread(src_path); cv::Mat dst; dst = src.clone(); while(true){ int key = cv::waitKey(30); if (key == 27){ break; } else if(key == 'a'){ cv::intensity_transform::autoscaling( src, dst ); } else if(key == 'l'){ cv::intensity_transform::logTransform( src, dst ); } else if (key == 'g'){ cv::intensity_transform::gammaCorrection( src, dst, 0.3 ); } else if( key == 'c'){ cv::intensity_transform::contrastStretching( src, dst, 25, 100, 175, 225 ); } else if (key == 'r'){ dst = src.clone(); } else if (key == 's'){ cv::imwrite("output.png", dst); } cv::imshow(name, dst); } cv::destroyAllWindows(); return 0; }
cook code Python
# __非対応__
Reference
https://theailearner.com/2019/01/26/power-law-gamma-transformations/
https://theailearner.com/2019/01/30/contrast-stretching/
https://www.cs.uregina.ca/Links/class-info/425/Lab3/
廃校の本棚の写真素材