旅行好きなソフトエンジニアの備忘録

プログラミングや技術関連のメモを始めました

2017-01-01から1ヶ月間の記事一覧

【OpenCV】 画像に文字を書き込む

OpenCVの復習が必要になったのでメモしておきます。 // 画像の読み込み UMat source; imread("lenna.jpg").copyTo(source); if (source.empty()) { throw runtime_error("Failed to open image"); } // 表示する文字の始点座標 int x = source.cols/8; int y…

【OpenCV】 画像に円を書き込む

OpenCVの復習が必要になったのでメモしておきます。 // 画像の読み込み UMat source; imread("lenna.jpg").copyTo(source); if (source.empty()) { throw runtime_error("Failed to open image"); } // 円の中心を定義する int x = source.cols/2; int y = s…

【OpenCV】 画像に四角形を書き込む

OpenCVの復習が必要になったのでメモしておきます。 // 画像の読み込み UMat source; imread("lenna.jpg").copyTo(source); if (source.empty()) { throw runtime_error("Failed to open image"); } // 四角形の始点と終点を定義する int x0 = source.cols/4…

【OpenCV】 画像に直線を書き込む

OpenCVの復習が必要になったのでメモしておきます。 // 画像の読み込み UMat source; imread("lenna.jpg").copyTo(source); if (source.empty()) { throw runtime_error("Failed to open image"); } // 直線の始点と終点を定義する int x0 = source.cols/4; …

【OpenCV】 画像を回転させる

OpenCVの復習が必要になったのでメモしておきます。 // 画像の読み込み UMat source; imread("lenna.jpg").copyTo(source); if (source.empty()) { throw runtime_error("Failed to open image"); } // 回転の中心 Point2f center = Point2f(static_cast<float>(sou</float>…

【OpenCV】 画像をリサイズする

OpenCVの復習が必要になったのでメモしておきます。 // 画像の読み込み UMat source; imread("lenna.jpg").copyTo(source); if (source.empty()) { throw runtime_error("Failed to open image"); } // 画像のリサイズを行う int width = 100; int height = …

【OpenCV】 画像を反転させる

OpenCVの復習が必要になったのでメモします。 // 画像の読み込み UMat source; imread("lenna.jpg").copyTo(source); if (source.empty()) { throw runtime_error("Failed to open image"); } // 画像を反転させる // 0 :上下反転 // 1 :左右反転 // -1:上下…

【OpenCV】 画像の読み書き

OpenCVの復習が必要になったのでメモしておきます。 // 画像の読み込み(flagを指定しない場合はIMREAD_COLORで読み込まれる) int flag = IMREAD_GRAYSCALE; Mat image = imread("lenna.jpg", flag); // 画像を読み込めたかどうかはemptyメソッドで分かる i…

【C#】 ペナルティ法による制約条件付き最適化

制約条件が付いた最適化問題をペナルティ法を使って解いてみます。ここでは例として 制約条件: を満たす上で 目的関数: の最小値を与えるを求めます。 まずは目的関数、制約条件、ペナルティ係数から新しい目的関数を作成するクラスを作成します。 public …

【C#】 共役勾配法による多変数関数の最適化

共役勾配法を利用して多変数関数の最適化を行うクラスを実装します。共役勾配法ではここ(【C#】 勾配ベクトルを計算するクラス - 旅行好きなソフトエンジニアの備忘録)で作成したGradientというクラスを利用します。 public class ConjugateGradientMethod…

【C#】 ニュートン法を使って非線形方程式の解を求める

ニュートン法を使ってを満たすを計算します。まずはニュートン法を実装しますが、ここ(【C#】 微分を計算するクラス - 旅行好きなソフトエンジニアの備忘録)で作成したDerivativeというクラスを利用します。 public class NewtonMethod1D { /// <summary> /// ニュ</summary>…

【C#】 最急降下法による多変数関数の最適化

最急降下法を利用して多変数関数の最適化を行うクラスを実装します。最急降下法ではここ(【C#】 勾配ベクトルを計算するクラス - 旅行好きなソフトエンジニアの備忘録)で作成したGradientというクラスを利用します。 public class SteepestDescentMethodMV…

【C#】 黄金分割法による最適化

今回は黄金分割法を使って一変数関数の最適化を行う方法をメモします。 public class GoldenSectionSearch { private static readonly double _ratio = (3.0 - Math.Sqrt(5.0))/2.0; /// <summary> /// 黄金分割法による最適化を行うメソッド /// </summary> /// <param name="f">一変数関数</param> /// <param name="minX"></param>…

【C#】 最急降下法による一変数関数の最適化

最急降下法を利用して一変数関数の最適化を行うクラスを実装します。最急降下法ではここ(【C#】 微分を計算するクラス - 旅行好きなソフトエンジニアの備忘録)で作成したDerivativeというクラスを利用します。 public class SteepestDescentMethod1V { pri…