メインPCで、頻繁にディスプレイがブラックアウトする現象が発生しており、ストレージのアクセスランプの状況と音声が聞こえることから、PC自体は動作している感じでした。それでもリセットすれば使えていたのですが、とうとう起動不能となりました。電源...
C#でSQLiteの自動採番を使い特定フォルダ内のファイルを番号管理するテーブルを作る。
ファイルに紐づく番号を管理する仕組みを考えてみます。 重複しない番号はSQLiteのテーブルの主キーを自動採番するようにしてその値を使うことにします。 テーブルで管理する内容はファイルのパス、更新日時、ファイルサイズで主キーは自動採番のid
C#のWPFで4K画像ファイルの読み込み~デコード速度を計測。(BMP,PNG,NTFS圧縮)
C#で3840x2180で32bit(BGRA)のPNGとBMP形式の画像ファイルを用意しBitmapオブジェクトの作成までの速度を計測してみます。 BMPに関してはNTFS圧縮したものも計測してみます。 ファイルサイズ 各ファイルのサイズ
WPFで図形を描画し画像ファイルとして保存するプログラムです。 using System.Diagnostics; using System.IO; using System.Text; using System.Windows; usin
C#でZIPファイルを作成し圧縮・無圧縮でサイズと展開速度を確認する。
複数のPNG形式などの画像ファイルをzipファイルにアーカイブして保存しています。 PNG形式で圧縮済みのファイルをzipで圧縮しても余り小さくなることは無いので、無圧縮にして展開速度を速めた方がメリットが大きそうです。簡単なプログラムを組
C#でMemoryCacheクラスでWPFのBitmapSourceをキャッシュしてみる。
プロジェクトの作成 PowerShellで実行。要dotnet.exe mkdir BitmapImageLoad01 cd BitmapImageLoad01 dotnet new console dotnet add package S
別スレッドを起動しその中でループを回し、ループ内で処理を行うプログラムがあります。基本的にサーバーなどのサービスのリクエストの受付などの処理を待つプログラムで使われるコードです。 bool _loopFlag = true; public
C#のthrow,try,catch,finallyステートメントの動作を確認する
面倒なので例外処理を書いてい来なかった筆者ですが、例外処理を学習したいと思います。 try-finallyステートメント try{}を離れるとfinally{}が実行されるとのことですので、tryブロック内でreturnしてみます。 例 v
OpenCVSharpのMatオブジェクトとbyte配列で相互にピクセルデータをコピー
Marshal.Copy()を使いMatオブジェクトとC#のbyte配列間でピクセルデータのコピーが出来るようなので試してみました。 Matオブジェクトからbyte配列へコピー // Matオブジェクト生成 Mat mat = new Ma
PowerShellでShift-JISのCSVファイルを連結した話。
月ごとに作成された文字コードがShift_JISのCSVファイルがあり、これを3年分結合させる作業を行いました。 依頼された内容はもう少し複雑で手作業で行うにはかなり煩雑です。正確性とスピードを考えるとコンピュータの出番となります。 手元に
以前学習したのですが忘れてしまったので、再度コードを書いてみます。 過去に作成したとあるWPFプロジェクトがいつの間にかビルドすることが出来なくなっており、原因を調べようとしましたがWPFで忘れていることが多く、再度学習しなおしたいと思いま
Excelで計算式が重たい場合、計算方法の設定を手動に設定することを検討する。
沢山計算式がセットされたワークシートやVBAで作成されたマクロが原因で動作が遅い場合、計算式の設定を手動にすることを検討します。 設定方法 メニュー→数式→計算方法の設定→手動 難しいところですが、ワークシートの内容によっては自動計算を停止
int型の変数に最大値をセットし1加算するとどうなるでしょうか? 試してみます。 Console.WriteLine("Min:{0} Max:{1}", int.MinValue, int.MaxValue); int
PowerShellで実行中セッション内の変数の一覧を取得する。「Get-Variable」
PowerShellの$profileでよく使うファイルやディレクトリなどのパスを変数として設定しておくと、コマンドラインからの実行などで重宝します。 例:vscodeでGIMPのプラグインディレクトリを開く $profileの内容 $gi
C#のWinformsでグレースケールの画像を作成しフォームに表示する。
グレスケールの画像をピクセル単位で操作するプログラムを作成する予定がありまして、目的のプログラムを作成する前に動作確認用にフォームに画像を表示するプログラムを作成します。 using System.Data.SqlTypes; using
C#のWinformでControl.Invalidate()とPaintイベント
PictureBoxなどのコントロールを再描画するためにControl.Invalidate()を実行することがあります。 何気に使っていて、ふと気になったのですが、Invalidate()を発行すると再描画されるのでPaintイベントが発
GIMPのPython-Fuでグリーンバックを追加するプラグイン
緑色で塗りつぶされたグリーンバック用のレイヤーを新規に追加します。 #!/usr/bin/env python # coding: utf8 from gimpfu import * from array import array # グリ
GIMPのPython-Fuでレイヤーを二つ追加するプラグイン
GIMPで境界線(Line)と塗りつぶし(Paint)用に2つレイヤーを追加するプラグインを作りました。 #!/usr/bin/env python # coding: utf8 from gimpfu import * from arra
オブジェクトのメソッド名の一覧を取得し、特定の条件に当てはまるメソッドを実行することが出来るか試してみました。 まずはメソッド名の一覧を取得してみます。 class MyClass { void InitA() { Console.Writ
C#のWinFormsで画像加工アプリ16「ダイアログ生成のサブルーチン化とヒストグラム平坦化」
ヒストグラムの平坦化を行います。 また、ダイアログ生成をサブルーチン化しました。 前回の記事 ソースコード ファイル名:Form1.cs(前回の記事のソースコードに追加) // ヒストグラム平坦化(Form1のコンストラクタに追加) Ini
C#のWinFormsで画像加工アプリ15「アンシャープマスキングフィルタ」
アンシャープマスキングフィルタで先鋭化を行います。 前回の記事 ソースコード ファイル名:Form1.cs(前回の記事のソースコードに追加) // アンシャープマスキング(Form1のメンバーとして追加) readonly ToolStri
モルフォロジー変換のクロージング処理を行います。 前回の記事 ソースコード ファイル名:Form1.cs(前回の記事のソースコードに追加) // クロージング(Form1のメンバーとして追加) readonly ToolStripMenuI
モルフォロジー変換のオープニング処理を行います。 前回の記事 ソースコード ファイル名:Form1.cs(前回の記事のソースコードに追加) // オープニング(Form1のメンバーとして追加) readonly ToolStripMenuI
C#のWinFormsで画像加工アプリ11「Cannyフィルタで境界線抽出」
Cannyフィルタで境界線抽出してみます。 前回の記事 ソースコード ファイル名:Form1.cs(前回の記事のソースコードに追加) // Canny(Form1のメンバーとして追加) readonly ToolStripMenuItem
C#のWinFormsで画像加工アプリ11「メディアンフィルタ」
メディアンフィルタを追加します。 前回の記事 ソースコード ファイル名:Form1.cs(前回の記事のソースコードに追加) // メディアンフィルタ(Form1のメンバーとして追加) readonly ToolStripMenuItem m
C#のWinFormsで画像加工アプリ10「ヒストグラムのグラフを表示」
画像のヒストグラムをグラフで表示します。 前回の記事 パッケージの追加 dotnet add package System.Windows.Forms.DataVisualization --version 1.0.0-prerelease
C#のWinFormsでワールド変換で図形を回転5「カーソルキーで図形を移動する2」
カーソルキーの左右で旋回し、上で前進、下で後退するようにしてみました。 ソースコード using System.Drawing.Drawing2D; namespace Kaiten02; public partial class Form
電子レンジで2つ同時に温める際の温め時間を計算します。 1つ目分秒 2つ目分秒
C#のWinFormsでワールド変換で図形を回転4「カーソルキーで図形を移動する」
カーソルキーの上下左右をおすと進行方向に図形が回転され移動するようにしてみました。 ソースコード namespace Kaiten02; public partial class Form1 : Form { public Form1()
C#のWinFormsでワールド変換で図形を回転3「図形を回転して並べる」
図形を0度、90度、180度、270度に回転し左から順番に4つ重ならないように横方向へ並べて表示したい。 結果 ソースコード using System.Drawing.Drawing2D; namespace Kaiten01; publi
C#のWinFormsで画像加工アプリ9「ラプラシアンフィルタで境界線抽出」
ラプラシアンフィルタで境界線抽出を行います。 前回の記事 ソースコード ファイル名:Form1.cs(前回の記事のソースコードに追加) // ラプラシアンフィルタ(Form1のメンバーとして追加) readonly ToolStripMen
直線検出を行います。 前回の記事 ソースコード ファイル名:Form1.cs(前回の記事のソースコードに追加) readonly ToolStripMenuItem houghMenuItem = new() { Text = "
C#のWinFormsで画像加工アプリ7「バイラテラルフィルタ」
バイラテラルフィルタ機能を追加します。 前回の記事 ソースコード ファイル名:Form1.cs(前回の記事のソースコードに追加) readonly ToolStripMenuItem bilateralMenuItem = new() {
C#のWinFormsで画像加工アプリ6「LUTによるガンマ補正」
LUTを使ってガンマ補正を行います。 前回の記事 ソースコード ファイル名:Form1.cs(前回の記事のソースコードに追加) // ガンマ補正(Form1のメンバーとして追加) readonly ToolStripMenuItem gam
Javascriptで画像ファイルをドラッグアンドドロップでプレビュー表示
画像ファイルをドロップしてください
C#のWinFormsで画像加工アプリ5「LUTによる減色」
LUTを使って減色処理を行います。 前回の記事 ソースコード ファイル名:Form1.cs(前回の記事のソースコードに追加) // 減色処理(Form1のメンバーとして追加) readonly ToolStripMenuItem dietC
C#のWinFormsのトラックバーで値の変更に合わせて重たい処理を行う方法を考える。
とりあえずサンプルプログラム。 namespace TrackBarLock01; public partial class Form1 : Form { readonly Label _trackValueLabel = new() {
C#のWinFormsで画像加工アプリ4「ノンローカルミーンフィルタ」
ノンローカルミーンフィルタ行うフィルター機能を追加します。 前回の記事 ソースコード ファイル名:Form1.cs(前回の記事のソースコードに追加) // ノンローカルミーンフィルタ(Form1のメンバーとして追加) readonly To
2値化を行うフィルター機能を追加します。 前回の記事 ソースコード ファイル名:Form1.cs(前回の記事のソースコードに追加) // 2値化(Form1のメンバーとして追加) readonly ToolStripMenuItem thr
C#のWinFormsで画像加工アプリ2「グレースケール化」
グレースケール化を行うフィルター機能を追加します。 前回の記事 パッケージの追加 cd GazouKakou01 dotnet add package OpenCVSharp4 dotnet add package OpenCVSharp4
C#のWinFormsで画像加工アプリ1「ドラックアンドドロップで画像を表示しCtrl+Cでクリップボードへコピー」
画像加工アプリケーションを作成します。 今回はメインとなるフォームにドラックアンドドロップで画像表示、Ctrl+Cでクリップボードへコピー、メニューで画像の拡大機能を作成してみました。 プロジェクトの作成 < pre>mkdir
「ブログリーダー」を活用して、84さんをフォローしませんか?
メインPCで、頻繁にディスプレイがブラックアウトする現象が発生しており、ストレージのアクセスランプの状況と音声が聞こえることから、PC自体は動作している感じでした。それでもリセットすれば使えていたのですが、とうとう起動不能となりました。電源...
Excelの「重複の削除」機能をつかうと、範囲選択した行の任意の列を対象に重複行を削除することが出来ます。処理前アルファベットがセットされた列を対象に重複を削除した後重複確認の対象としない列は最初に見つかった行が対象となるようです。機能を使...
数字のみで構成された文字列をキーにVLOOKUP関数でマッチングするすることがあります。一見すると問題なく動作するようなデータでも実は文字列ではなく数値だったりして、見た目では判断つかないことがあります。全くマッチングしない場合はすぐに気が...
パッケージ管理システムscoopを使ってnode.jsをインストールした記録です。 名前で検索したところ複数ヒット PS F:\git\memoClone\memo> scoop search nodejs Results from
GIMPで画像を透明化場合、画像レイヤーにアルファチャンネルが必要になります。 以下の操作でアルファチャンネルを追加します。 レイヤーを選択⇒右クリック⇒「アルファチャンネルを追加」 アルファチャンネルは透明度を表すチャンネルですが、範囲選
1枚の画像をパーツごとに別レイヤーに切り出し作業用のスクリプトです。 2.10版 GIMP3.0RCをインストールしてScript-Fuを少し試してみたので、よく使うスクリプトをGIMP3.0RCで動作するように修正してみました。 ファイル
GIMPが3.0へバージョンアップしたとのこと、まだRC版ですが早速試してみたいと思います。 Python Consoleの起動 メインメニュー⇒「フィルター(R)」⇒「Development」⇒「Python-Fu」⇒「Python Co
修正用の線の太さを決める為、画像内の距離を知りたい場合がありGIMPでの手順を確認してみました。 手順 Shift+Mかコンパスのアイコンをクリック 画面内の任意の地点から計測したい場所までをマウスでドラック ステータスバーに距離(ピクセル
プログラミングの初学者にどのようなプログラミング言語がお勧めか考えることがことがありました。 知人から「プログラミングを始めたいのだけど、どのプログラミング言語が良いだろうか?」と質問を受けたことがありました。 その時には、プログラミングで
メールに添付できない程大きなファイルは、ファイル転送サービスを使うことになります。無料で大容量のファイルを送れるサービスがあり、大変便利で有用なサービスだとは思うのですが、ファイルを第三者を経由して送ることに成りますので、ファイルを暗号化す
特定の区切り文字で文字列を分割する方法としてPowerShellではsplit演算子が使えます。 例 "a,b,c" -split "," a b c 文字列"a,b,c"を区切り
充電式のコンパクトなタッチパッド付キーボードを入手しました。 2.4GHzタイプはファイルサーバー用でBluetoothタイプはAndroidスマートフォン用に使います。 届いた2つのキーボード見た目はほぼ一緒で、色ぐらいは別にすればよかっ
WPFでテンプレートマッチングを行うプログラムをGUIを作成してみました。 以前WinFormsで作成しましたが、今回はWPFで拡大縮小機能をつけてみました。 また、複数のマッチングをするため何回もマッチング処理を実行していましたが、今回は
$PSVersionTable変数のPSVersionプロパティでPowerShellのバージョンが取得できます。 PowerShell7(PWSH.exe)で実行 PS C:\Users\karet> $PSVersionTable
現在実行中のソフトウェアの実行ファイルの場所を調べる方法として、Get-ProcessのPathプロパティで実行ファイルのパスを取得できるようです。 PS C:\Users\karet> Get-Process -Name power
Get-ProcessのプロパティにMainWindowTitleがありましたので、こちらに文字列がセットされているプロセスのみを絞り込んでみました。 PS C:\Users\karet> Get-Process Where-Ob
応答なしとなったデスクトップアプリケーションをタスクマネージャで強制終了することがあります。 これと同じような操作をPowerShellから実行する場合Stop-Processがあります。 Stop-Processエイリアスはkillでプロ
Get-Processコマンドで実行中のプロセスの一覧を取得することが出来ます。 Get-Processのエイリアスはpsになります。 オプションなしで実行すると多量のプロセスが表示されますので、Where-Objectで絞り込むか名前が事
特定の文字列を含むか検索する方法として、正規表現で指定する方法と*(アスタリスク)を使ったワイルドカードを指定する方法があります。正規表現は書式が難解ですが使えるようになるときめ細かな条件を1行で表現することが出来ます。ワイルドカードを使う
PowerShellの文字列はSubstringメソッドで指定位置で文字を切り出すことが出来ます。 基本書式 "文字列".Substring(開始位置,文字数) ExcelのRight・Mid・Leftの様に扱う場合、開
画像のフィルタ処理のプログラミングをしていて、テストデータとして市松模様のような画像が欲しい場面があります。 調べたところnumpyのtile()で作成することが出来るようなので試してみたいと思います。 import cv2 import
OpenCVには平均化フィルタblur()や畳み込み演算をするfliter2d()などがありますが、自前でコードを書いてみようという試みです。 import cv2 import numpy as np # 画像ファイルの読み込み(グレース
2枚の画像の違いを目視で確認するため、画像を並べて表示するソフトを作成してみました。 ファイル名:Form1.cs using System.Diagnostics; using System.Windows.Forms.VisualSty
Pythonで画像を加工をしていると型が合わないため、フィルターが実行できない場合があります。 そのような場合型を確認する必要があるのですが、Pythonのオブジェクトの型を確認するtype()で確認することが出来ました。 import c
画像上に文字列を描きこむサンプルです。 import cv2 import numpy as np # 画像に文字列を描きこみ def write_string(img, str): # 四角形(白色で塗りつぶし) cv2.rectangl
他のエクセルファイル(ブック)を参照しているエクセルファイル(ブック)で、参照元のエクセルファイル(ブック)が参照できない場合、「このブックは更新できないリンクが1つ以上含まれています」とメッセージが表示されます。 「リンクの編集」ボタンか
PowerShellで比較的時間がかかるバッチ処理を行うことがあり、何らかの方法で終了を知らせてくれるとありがたいです。 終了時にメッセージボックスを表示する方法も試してみましたが、もっとシンプルに処理終了時にBeep音を鳴らす方法を試して
エクスプローラーの「送る」から実行を想定しています。 using namespace System.Windows.Forms using namespace System.Drawing using namespace System.Dr
pythonスクリプトからOpenCV使って画像を加工した場合、その結果を確認するため画像を表示したい場面があります。 個人的に一括処理で複数のファイルを取り扱う場合が多いので、ウィンドウが自動的に閉じてくれると都合が良いです。 impor
文字列の数字をintなどの数値型に変換する方法を調べてみました。 連番のファイル名が付いた複数のファイルを一括処理するスクリプトを書いていて、n番目以降のファイルのみを処理したい場面に遭遇しました。ファイル名は文字列なので数値としての大小比
Invoke-WebRequestで-OutFileをつけるとファイルのダウンロードをすることが出来ます。 さらにPassThruオプションをつけるとダウンロードを実行してさらにコンテンツをオブジェクトとして取得することが出います。 PS
Invoke-WebRequestコマンドレットを使うとファイルをダウンロードすることが出来ます。 保存先のファイルのパスが存在しないディレクトリを含む場合どうなるでしょうか? エラーになるであろうことは予想できます。 PS> Inv
液晶ディスプレイにType-C形状の映像入力端子があるのですが、つなげる機器を所有していませんでした。 それよりもHDMIかDPのポートが不足しており、Type-Cへ変換するアダプタがあれば使っていないType-Cポートが有効活用できるので
数年間使っていなかったインクジェットプリンター「PIXUS iP100」を使えるように出来ないかメンテナンスしてみました。 とりあえずテストプリントをしたところ全く印刷されませんでした。インクカートリッジを変えて印刷したところ、部分的に印刷
使っていたスマートフォンのカメラを壊してしまい機種変更をしました。 SIMフリーのスマートフォンですので、通販で本体を注文しSIMカードを自分で入れ替えるだけで機種変更が出来ます。 電話機としての機種変更はSIMカードの入れ替えでOKですが
カレントディレクトリにjpgファイルが複数存在する状況で更新日付順の連番で別ディレクトリにコピーしたい。 このような状況はまれなので、ついエクスプローラーで一つ一つ手動でリネームしがちですが、この類の処理はPowerShellを使うと便利で
テキストファイルの作成 PS H:\workspace> New-Item -Path dummy1.txt Directory: H:\workspace Mode LastWriteTime Length Name ---- --
Excelの「名前」という機能は、普通にExcelで作表作業をする場合、まず使わない機能だと思います。しいて言えば印刷範囲を設定すると「Print_Area」という名前が自動的に定義されるぐらいで、それにしても利用者側が意識する場面はほぼ無
ファイルの更新日(LastWriteTime)が任意の日付のファイルを抽出する方法を調べてみました。 PS H:\ps1> Get-ChildItem . Where-Object { $_.LastWriteTime.Date
とあるフォルダのファイルの一覧をGet-ChildItemで取得してみます。通常Get-ChidItemはフォルダも返しますが、ファイルのみ取得するために-Fileオプションを付加しています。 PS H:\ps1> Get-Child