C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: このPythonをVBで書けるようでしたら


(過去ログ 179 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■102726 / inTopicNo.1)  このPythonをVBで書けるようでしたら
  
□投稿者/ 焼いも (22回)-(2023/12/16(Sat) 12:39:42)

分類:[VB.NET/VB2005 以降] 

2023/12/16(Sat) 16:50:08 編集(投稿者)

解決しました。
質問は取り消します。
引用返信 編集キー/
■102727 / inTopicNo.2)  Re[1]: このPythonをVBで書けるようでしたら
□投稿者/ 焼きも (1回)-(2023/12/16(Sat) 16:51:36)
No102726 (焼いも さん) に返信
> 2023/12/16(Sat) 16:50:08 編集(投稿者)
>
> 解決しました。
> 質問は取り消します。
解決済み
引用返信 編集キー/
■102728 / inTopicNo.3)  Re[1]: このPythonをVBで書けるようでしたら
□投稿者/ くま (15回)-(2023/12/16(Sat) 16:56:29)
焼いも様
問題点がいくつかあります。

1. 処理の内容から「画像処理」と考えられます。
Pythonからだと「OpenCV」を使う方法が有名かと思いますが
その辺りの記載がありません。
(この場合「data」です)
その辺はどうしたいのですか?

2. 「numpy」とは高度な算術をPython上で行えるようにしたパッケージです。
先の「OpenCV」と合わせて使うとなると2つの選択肢が発生します

A. Pythonの環境を作成しvb.net側から呼び出す
ただし当然Pythonの環境等を学ばないといけない。

B. 処理を真似たラッパーまたはライブラリ
「OpenCV」->「OpenCvSharp」
「Numpy」->「Numpy.NET」
をインストールして使う。
ただし完全に互換があるわけではありませんので
Pythonの資料を見ても再現できない場合がある。

3. それ以外だと自分で処理内容を理解して再現する方法
今回の場合画像ファイルにランダムで強度の違う[点]を追加するという処理になります。

そうすると「VB.net」では以下の作業で求める事ができます
https://dobon.net/vb/dotnet/programing/random.html
※厳密にはPythonのランダムの場合、正規分布の標準偏差を利用しているので
値の発生度合いに差が発生します。

> noise = np.random.normal(0, 1, len(data))
Dim r As New System.Random()
Dim noise As Double() = New Double(data.length) {}
r.NextDouble(noise)

画像に点を描く方法
https://dobon.net/vb/dotnet/graphics/createimage.html
SetPixelメソッドで点を描く
※今回のお題「ホワイトノイズ」と近い「カラーノイズ」の処理ですね。
「ホワイトノイズ」にしたいのであれば
> Dim c As Color = Color.FromArgb(rnd.Next(256), rnd.Next(256), rnd.Next(256))

Dim brightness as Byte = rnd.Next(256)
Dim c As Color = Color.FromArgb(brightness, brightness, brightness)
にすれば行えます。

どちらにしても
画像データは3次元配列で(2次元の場合もありますが)管理されていて
それに対してOpenCVの場合画像処理的アプローチで変換を行い
numpyの場合算術的なアプローチ(この場合、行列)により処理を行う
その辺りの基本が分からないと使いこなせないと思います。

デバック等考えるとPython覚えたほうが早いです。

※あと.NET Frameworkなのか.NET Coreなのかバージョン等書かないと正確には答えられません
回答はとりあえず「.NET Framework」ベースとさせていただきました。
引用返信 編集キー/
■102729 / inTopicNo.4)  Re[2]: このPythonをVBで書けるようでしたら
□投稿者/ くま (16回)-(2023/12/16(Sat) 16:57:35)
回答書いてる間に取り消されていたので完了済にしておきます
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -