OpenCV KAKUUCHI
Module(main)
objdetect
QRcode
猫認識
photo
Pencil Sketch
水彩画エフェクト(Water Color)
video
オプティカルフロー(calcOpticalFlowFarneback)
オプティカルフロー(calcOpticalFlowPyrLK)
オプティカルフロー(Practical:オーラグラフィー)
オプティカルフロー(Practical:グリッチ)
features2d
特徴点描画(単一画像)
Module(contrib)
alphamat
alphamat
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
barcode
barcode
Module(cuda)
cudafilters
LaplacianFilter
GaussianFilter
SobelFilter
ScharrFilter
MorphologyFilter
cudaimgproc
bilateralFilter
Canny
HoughLine
HoughCircle
CornerHarris
CornerMinEigenVal
Simple White Balance
Gallery
src 元画像
ハズレ値 0.5%
ハズレ値 1.0%
ハズレ値 2.0% (default)
what process?
RGBそれぞれのchannelからヒストグラムにしたものを両端数%のハズレ値を棄却し、最後にヒストグラムを伸長して最適化するアルゴリズム。
cook code C++
#include <opencv2/opencv.hpp> #include <opencv2/core/utility.hpp> #include <opencv2/xphoto/white_balance.hpp> int main(int argc, const char* argv[]) { // ./out -src=[image path] -p=0.5 cv::String keys = "{src||}""{p||}"; cv::CommandLineParser parser(argc, argv, keys); cv::String src_path = parser.get<cv::String>("src"); double p = parser.get<double>("p"); std::cout << src_path << std::endl; cv::Mat src = cv::imread(src_path); cv::Mat dst; //インスタンス生成 cv::Ptr<cv::xphoto::SimpleWB> obj = cv::xphoto::createSimpleWB(); //ハズレ値 : default 2% std::cout << obj->getP() << std::endl; //ハズレ値を設定 obj->setP(p); obj->balanceWhite(src, dst); cv::imwrite("./output.png", dst); return 0; }
cook code Python
import cv2 import numpy as np import argparse def main(): parser = argparse.ArgumentParser() parser.add_argument('--src') parser.add_argument('--p') args = parser.parse_args() src = cv2.imread(args.src) #インスタンス生成 obj = cv2.xphoto.createSimpleWB() #ハズレ値 : default 2% print(obj.getP()) #ハズレ値を設定 obj.setP(float(args.p)) dst = obj.balanceWhite(src) cv2.imwrite("./output.png", dst) if __name__ == "__main__": main()
Reference
OpenCVdoc - SimpleWB
GIMP - White Balance
olympus - ホワイトバランスって何だろう?
[Pixabay:Photographer]Danny See Chuan Seng
戻る(Back Page)