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

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

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

OpenCVSharpでのカメラ映像表示

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

■103263 / inTopicNo.1)  OpenCVSharpでのカメラ映像表示
  
□投稿者/ しろ (1回)-(2024/07/22(Mon) 19:37:27)

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

OpenCVSharpを使ってカメラで写真を撮るプログラムを作成しています。
開発PCではカメラ映像が表示されるのですが、特定のPC(SurfacePro)でアプリを動かすと
カメラ映像が映ってすぐ画面が応答なしになり、固まってしまいます。

開発PCではメモリが増加しているような感じはなく、原因がつかめません。
原因・対策等何か考えられることがありましたらご教授ください。

開発環境:VS2019 VB.NET

ソースコード一部抜粋

    Private mat As Mat
    Private vc As VideoCapture
    Private bmp As Bitmap
    Private gp As Graphics
    Private intWidth As Integer = 1280
    Private intHeight As Integer = 720

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        vc = New VideoCapture(0)
        vc.FrameWidth = intWidth
        vc.FrameHeight = intHeight
        mat = New Mat(intHeight, intWidth, MatType.CV_8UC3)

        PictureBox1.Width = intWidth
        PictureBox1.Height = intHeight

        bmp = New Bitmap(mat.Cols, mat.Rows, CInt(mat.[Step]()), Imaging.PixelFormat.Format24bppRgb, mat.Data)
        gp = PictureBox1.CreateGraphics()

        BackgroundWorker1.RunWorkerAsync()
    End Sub

    Private Sub BackgroundWorker1_DoWork(sender As Object, e As DoWorkEventArgs) Handles BackgroundWorker1.DoWork
        While Not BackgroundWorker1.CancellationPending
            vc.Grab()
            NativeMethods.videoio_VideoCapture_operatorRightShift_Mat(vc.CvPtr, mat.CvPtr)
            BackgroundWorker1.ReportProgress(0)
        End While
    End Sub

    Private Sub BackgroundWorker1_ProgressChanged(sender As Object, e As ProgressChangedEventArgs) Handles BackgroundWorker1.ProgressChanged
        gp.DrawImage(bmp, 0, 0, mat.Width, mat.Height)
    End Sub

引用返信 編集キー/
■103264 / inTopicNo.2)  Re[1]: OpenCVSharpでのカメラ映像表示
□投稿者/ kiku (435回)-(2024/07/23(Tue) 14:42:34)
No103263 (しろ さん) に返信
> OpenCVSharpを使ってカメラで写真を撮るプログラムを作成しています。
> 開発PCではカメラ映像が表示されるのですが、特定のPC(SurfacePro)でアプリを動かすと
> カメラ映像が映ってすぐ画面が応答なしになり、固まってしまいます。
>
> 開発PCではメモリが増加しているような感じはなく、原因がつかめません。
> 原因・対策等何か考えられることがありましたらご教授ください。
>
> 開発環境:VS2019 VB.NET

例外が発生している可能性があるので、
例外をキャッチしてログに出力するようにしてはどうでしょうか?

また、vc = New VideoCapture(0)の直後に
vc.IsOpen(スペル違うかもしれない)プロパティで、
オープンできているかどうか確認してみてはどうでしょうか?
引用返信 編集キー/
■103265 / inTopicNo.3)  Re[2]: OpenCVSharpでのカメラ映像表示
□投稿者/ しろ (2回)-(2024/07/23(Tue) 19:06:05)
No103264 (kiku さん) に返信
> 例外が発生している可能性があるので、
> 例外をキャッチしてログに出力するようにしてはどうでしょうか?

ご返信ありがとうございます。
手元にSurfaceProがないため、次の機会に試してみます。


> また、vc = New VideoCapture(0)の直後に
> vc.IsOpen(スペル違うかもしれない)プロパティで、
> オープンできているかどうか確認してみてはどうでしょうか?

実際のソースコードには入れています。
あまり関係ないと思いこちらには載せませんでした。
紛らわしくてすみません。
引用返信 編集キー/
■103266 / inTopicNo.4)  Re[1]: OpenCVSharpでのカメラ映像表示
□投稿者/ とくま (11回)-(2024/07/24(Wed) 08:18:43)
No103263 (しろ さん) に返信
解決する意思が全く無いか、テストスキルが全く無いような質問文になっていますが。。。
解決する意思があるなら、テスト作業をまともにできる派遣社員でも雇ってはいかが?

どのコマンドで応答が無くなっているのか1行まで絞り込んで、絞り込んだテストコードと
共に説明してください。

>開発PCではメモリが増加しているような感じはなく、原因がつかめません。
メモリ増加が原因であると考えた根拠と、テスト結果を、具体的な数値を出して説明してください。

>> vc.IsOpen(スペル違うかもしれない)プロパティで、
>> オープンできているかどうか確認してみてはどうでしょうか?
>
>実際のソースコードには入れています。
>あまり関係ないと思いこちらには載せませんでした。
関係ないと考えた根拠、もしくは、質問文に挙げたコードの中に原因があると特定した
テストコードとテスト結果を、具体的な数値を出して説明してください。
引用返信 編集キー/
■103267 / inTopicNo.5)  Re[2]: OpenCVSharpでのカメラ映像表示
□投稿者/ しろ (3回)-(2024/07/24(Wed) 08:56:52)
2024/07/24(Wed) 08:57:32 編集(投稿者)

> 解決する意思が全く無いか、テストスキルが全く無いような質問文になっていますが。。。
> 解決する意思があるなら、テスト作業をまともにできる派遣社員でも雇ってはいかが?

こういう無責任かつ馬鹿にした発言するヤツもいるのですね。
相手を貶して何が気持ちいいのかな?

問題の端末がすぐに利用できる環境にないためフワッとした質問になりましたが、
該当のソースに何か明らかな問題があるのかと思い質問しました。

どうにか端末を準備して詳細を調査してみるので一旦解決としておきます。

解決済み
引用返信 編集キー/
■103268 / inTopicNo.6)  Re[3]: OpenCVSharpでのカメラ映像表示
□投稿者/ とくま (12回)-(2024/07/25(Thu) 09:21:10)
No103267 (しろ さん) に返信
ああ、自分と同じような存在と相対すると化けの皮が剥がれますかぁ。

最初の質問の手抜きっぷりも大概ですが、
開発PCと実行PCが違うということは、状況的に顧客にプログラムが手渡される段階。
その段階で
> 該当のソースに何か明らかな問題があるのかと思い質問しました。
そんな明らかな問題を疑えるほど、自分の提示したコードに責任感が無い。
そんな問題を他人に指摘させるという、プログラムもプログラマも軽視した態度。
まさに貴方の指摘通りの人物像です。分かりみが深い。

私は貴方と同一人物かと思うほど、親近感を覚えますよ。
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


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

このトピックに書きこむ