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

【C#】.NET で libtiff を使う ~ LibTiff.Net ~

■ はじめに * libgeotiffを使う手始めとして、まずは、libtiff を使ってみる ■ .NET で libtiff を使うには... * 「LibTiff.Net」を使用する LibTiff.Net 公式サイト https://bitmiracle.com/libtiff/ サンプル https://github.com/BitMiracle/libtiff.net/t…

【C#】Bitmap の高速化 について

■ はじめに https://blogs.yahoo.co.jp/dk521123/38086057.html の続き。 今回は、高速化。 ■ サンプル BitmapEx.cs using System; using System.Drawing; using System.Drawing.Imaging; using System.Runtime.InteropServices; namespace SampleForm { pub…

【C#】Proj.Net ~ 環境構築編 / .NET で PROJ を使うには... ~

■ PROJ * 地理座標系と投影座標系との間の変換を行うライブラリ * 詳細は、以下の関連記事を参照。 https://blogs.yahoo.co.jp/dk521123/38095650.html ■ .NETで PROJ を使うには... 【1】Proj.Net << 今回のテーマ 【2】Proj4Net etc... 設定方法 * どち…

【GISツール】QGIS ~ 入門編 ~

■ QGIS * フリーの地理情報システム * QGIS : Quantum GIS(Geographic Information System = 地理情報システム) => 読み方は、そのまま「キュージーアイエス」 ライセンス * GNU General Public License https://www.qgis.org/ja/site/about/index.html サポ…

【C#】Bitmap / BitmapData

■ 用語整理 ストライド(Stride) * 画像のような二次元配列の構造のものを、一次元配列で扱う場合、 配列の何番目から何番目までのデータが画像の横一列分に相当するのかを表す値 => 以下のサイトが非常に分かりやすい http://neareal.com/470/ 例:画像幅が …

【C#】二値化

■ サンプル using System; using System.Drawing; using System.Drawing.Imaging; using System.Runtime.InteropServices; using System.Windows.Forms; namespace SampleForm { public partial class Form1 : Form { public Form1() { InitializeComponent(…

【GISツール】PROJ / PROJ.4 ~ 入門編 ~

■ PROJ * 地理座標系⇔投影座標系の変換ライブラリ メモ * Projection (投影)の略? * 以前は、「proj4 (PROJ.4)」? => 以下のサイトで「Update website: proj4.org -> proj.org」って。そのせいでリンク切れ多数... https://github.com/OSGeo/PROJ * 以下の…

【C#】アンセーフ コード ~ unsafe / fixed ~

■ アンセーフ コード unsafeステートメント * C# でポインタを使用できる fixedステートメント * マネージオブジェクトのポインタを固定できる ■ アンセーフ コード を使用する上での注意点 * 以下の設定が必要。(でないとコンパイルエラー) https://docs.…

地図 / 緯度経度 について

■ 座標系 【1】緯度経度座標系(球形座標系) 【2】XY座標系(数学座標系) 2-1)UTM座標系 2-2)平面直角座標系(19座標系) 【1】緯度経度座標系(球形座標系) * 赤道からの角度(緯度)、子午線からの角度(経度)により位置を示す 【2】XY座…

画像処理 ~ 補間方法について ~

■ はじめに * 以下の関連記事の続き。今回は、補間方法。 画像処理 ~ 幾何補正について ~ https://blogs.yahoo.co.jp/dk521123/38073336.html ■ 補間 / 内挿(ないそう) /再配列(リサンプリング) `#`補間方法略 1最近傍補間(ニアレストネイバー)NN法(N…

【C#】Byte / Byte[] (Byteの配列)

C#

■ エンディアンの対応 * 以下の公式サイトに記載されてた https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/types/how-to-convert-a-byte-array-to-an-int * 「BitConverter.IsLittleEndian」と「Array.Reverse()」で対応 例 if (BitConve…

【C++/CLI】 C++ / CLI ~ 入門編 / C# から C++ / CLI のDLL を呼び出す ~

■ はじめに https://blogs.yahoo.co.jp/dk521123/38070421.html に記載したが、C++のDLLファイルを参照追加した際に エラー「' XXX.dll' への参照を追加できませんでした。・・・」が表示された。 対応するために、C++ / CLI が必要そうだったので、調べてみ…

画像処理 ~ 幾何補正について ~

■ 幾何補正(geometric correction) `#`補正方法`必要な最小データ数`備考 1ヘルマート変換(一次等角変換、相似変換)2点Helmert Transformation 22次元アフィン変換3点affine transformations 32次元擬似アフィン変換(共一次変換)4点pseudo-affine transfo…

【トラブル】【C#】ファイルアクセス時のトラブルシュート

■ エラー「別のプロセスで使用されているため・・・」が表示される エラー内容 System.IO.IOException 別のプロセスで使用されているため、プロセスはファイル 'XXX' にアクセスできません。 解決案 * 「FileShare.ReadWrite」を付加する 【修正前】 using (…

【トラブル】C# から C++ のDLL を呼び出す際のトラブルシュート

■ はじめに https://blogs.yahoo.co.jp/dk521123/37078399.html で行ったトラブルシュート。 ■ エラー「(呼び出し関数名)がスタックを不安定にしています」が表示される エラー内容 (呼び出し関数名)がスタックを不安定にしています。 PInvoke シグネチ…

【C#】画像処理 ~ 幾何補正 / 2次元アフィン変換編 ~

■ 幾何補正(geometric correction) * 画像に対する歪みやズレを取り除く処理 ■ サンプル * 以下で実装してみる + 補正方法 : 2次元アフィン変換 + 補間方法 : 最近傍補間(ニアレストネイバー) # 「2次元アフィン変換」「最近傍補間(ニアレストネイバー…

【C#】C# で 行列計算を自作する ~ 逆行列編 ~

■ はじめに https://blogs.yahoo.co.jp/dk521123/38068315.html で数値演算ライブラリを扱ったが、 今回は、行列計算を自作で実装してみる ■ 逆行列の求め方 * 逆行列の求め方は以下の通り。 [1] 掃き出し法 (Row reduction)・ガウス・ジョルダンの消去法 (G…

【C#】 C# で OpenCV を使用する ~ 画像の位置合わせを考える ~

■ はじめに https://dk521123.hatenablog.com/entry/2019/05/07/232536 の続き。 今回は、画像の位置合わせを考える。 ■ 今回使用するOpenCVのAPI * 以下のAPIが使えそう 1)GetPerspectiveTransform 2)WarpPerspective 1)GetPerspectiveTransform * 変…

【C#】 C# で OpenCV を使用する ~ 環境構築編 ~

■ はじめに OpenCVをC#で使用できるようにする ■ 環境構築 * NuGet でインストールするだけ(簡単!) 構築環境 * OS : Windows10 * VS : Microsoft Visual Studio Community 2017 (Version 15.9.1) * OpenCV : OpenCvSharp3-AnyCPU(Version : 4.0.0.2018112…

【C#】画像処理 ~ アフィン変換・Matrixクラス ~

■ はじめに * 画像処理を行う際に、アフィン変換が避けては通れないので、まとめる ■ アフィン変換とは? * 線形変換と平行移動を組み合わせた変換 線形変換 * 変換前に直線だった箇所は、変換後も直線が保たれる * 図形(今回は画像)に対して、以下の操作…

【C#】 数値演算ライブラリ Math.Net Numerics

■ はじめに 行列計算をC#で行いたいので調べていたら、 「Math.Net Numerics」というライブラリが見つかったので試してみた 補足(2019/05/19追記) * .NET環境用の科学技術・統計計算ライブラリ「NAG Library for .NET」っていうのもあるらしい http://www.…