Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C#
  4. Capturing from Webcam without preview to the user

Capturing from Webcam without preview to the user

Scheduled Pinned Locked Moved C#
csharpwpfquestion
19 Posts 5 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    Sultan Uz Zaman
    wrote on last edited by
    #1

    I would like to know if it is possible to develop an webcam application under WPF C# to capture webcam image and save it to disk without showing the preview (showing the content to the user)?

    W L P 3 Replies Last reply
    0
    • S Sultan Uz Zaman

      I would like to know if it is possible to develop an webcam application under WPF C# to capture webcam image and save it to disk without showing the preview (showing the content to the user)?

      W Offline
      W Offline
      Wendelius
      wrote on last edited by
      #2

      Don't repost. You have already asked this in Hidden Camera WPF App[^].

      1 Reply Last reply
      0
      • S Sultan Uz Zaman

        I would like to know if it is possible to develop an webcam application under WPF C# to capture webcam image and save it to disk without showing the preview (showing the content to the user)?

        L Offline
        L Offline
        Lost User
        wrote on last edited by
        #3

        Yes, it's possible.

        S 1 Reply Last reply
        0
        • L Lost User

          Yes, it's possible.

          S Offline
          S Offline
          Sultan Uz Zaman
          wrote on last edited by
          #4

          Great! Please help me with a few codes in WPF C# so I could implement this to my application. Please note that the objective is not to aware the user of the webcam activity at all. Thanks in advance.

          L 1 Reply Last reply
          0
          • S Sultan Uz Zaman

            Great! Please help me with a few codes in WPF C# so I could implement this to my application. Please note that the objective is not to aware the user of the webcam activity at all. Thanks in advance.

            L Offline
            L Offline
            Lost User
            wrote on last edited by
            #5

            I said it's possible, I did not say I know how to do it. You need to study the webcam interface to see what you need to do in order to capture the activity without displaying it. But personally I would never install such an application on my PC.

            S 1 Reply Last reply
            0
            • L Lost User

              I said it's possible, I did not say I know how to do it. You need to study the webcam interface to see what you need to do in order to capture the activity without displaying it. But personally I would never install such an application on my PC.

              S Offline
              S Offline
              Sultan Uz Zaman
              wrote on last edited by
              #6

              Let me clear my objectives one more time before it creates any ambiguity. This is an application where the user puts a few input in a sequence of pages. Every time the user enters into a page the application captures the image of his/her face along with the other activities with 2 webcams. Reason to take the image is to resolve any dispute if occurs. It would be awkward to show the webcam preview on the input pages. If we had to put an image control it has to be on the main window keeping it hidden. This is a DropBox application to be written in C# WPF where there are 2 webcams - 1 for the user face and the other at the DropBox shutter end to capture if the user actually dropped anything.

              P 1 Reply Last reply
              0
              • S Sultan Uz Zaman

                Let me clear my objectives one more time before it creates any ambiguity. This is an application where the user puts a few input in a sequence of pages. Every time the user enters into a page the application captures the image of his/her face along with the other activities with 2 webcams. Reason to take the image is to resolve any dispute if occurs. It would be awkward to show the webcam preview on the input pages. If we had to put an image control it has to be on the main window keeping it hidden. This is a DropBox application to be written in C# WPF where there are 2 webcams - 1 for the user face and the other at the DropBox shutter end to capture if the user actually dropped anything.

                P Offline
                P Offline
                Pete OHanlon
                wrote on last edited by
                #7

                And how are you going to switch off the Webcam notification itself? You know, the light that appears on the camera when it's in use.

                S 1 Reply Last reply
                0
                • P Pete OHanlon

                  And how are you going to switch off the Webcam notification itself? You know, the light that appears on the camera when it's in use.

                  S Offline
                  S Offline
                  Sultan Uz Zaman
                  wrote on last edited by
                  #8

                  Since all the webcams are inside the cage the light can not be seen by the user.

                  L P 2 Replies Last reply
                  0
                  • S Sultan Uz Zaman

                    Since all the webcams are inside the cage the light can not be seen by the user.

                    L Offline
                    L Offline
                    Lost User
                    wrote on last edited by
                    #9

                    Do take note that this might not be legal in some places :)

                    Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^][](X-Clacks-Overhead: GNU Terry Pratchett)

                    S 1 Reply Last reply
                    0
                    • S Sultan Uz Zaman

                      Since all the webcams are inside the cage the light can not be seen by the user.

                      P Offline
                      P Offline
                      Pete OHanlon
                      wrote on last edited by
                      #10

                      Ultimately the webcam image is just a stream of bytes. That's all you need to know to work out the rest.

                      S 2 Replies Last reply
                      0
                      • L Lost User

                        Do take note that this might not be legal in some places :)

                        Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^][](X-Clacks-Overhead: GNU Terry Pratchett)

                        S Offline
                        S Offline
                        Sultan Uz Zaman
                        wrote on last edited by
                        #11

                        Don't worry, the DropBoxes are generally like this and it does not have any illegal elements. And by the way we are actually looking for something where there is no preview - just capture on demand. So, even if the user sees the light of the webcam it really doesn't matter because it actually strengthens his side in case of any dispute unless he claims anything useless (like claiming transaction without dropping the envelop).

                        P 1 Reply Last reply
                        0
                        • P Pete OHanlon

                          Ultimately the webcam image is just a stream of bytes. That's all you need to know to work out the rest.

                          S Offline
                          S Offline
                          Sultan Uz Zaman
                          wrote on last edited by
                          #12

                          Yes. But how do I do it without showing it on the image control?

                          P 1 Reply Last reply
                          0
                          • S Sultan Uz Zaman

                            Yes. But how do I do it without showing it on the image control?

                            P Offline
                            P Offline
                            Pete OHanlon
                            wrote on last edited by
                            #13

                            It's a stream of bytes. The image control just renders the bytes out - it's a convenience for you. You don't need it. Think about how you save a stream of bytes instead - that's the key. Forget that the Image Control ever existed.

                            S 1 Reply Last reply
                            0
                            • P Pete OHanlon

                              Ultimately the webcam image is just a stream of bytes. That's all you need to know to work out the rest.

                              S Offline
                              S Offline
                              Sultan Uz Zaman
                              wrote on last edited by
                              #14

                              Please find below the extarct of my application where the stream is stored in an image control named frameHolder and function SavePic grabs the current frame and save it to disk. frameHolder is shown on the Main Window. Making it invisible captures blank picture. MainWindow.xaml.cs void MainWindow_Loaded(object sender, RoutedEventArgs e) { LoaclWebCamsCollection = new FilterInfoCollection(FilterCategory.VideoInputDevice); LocalWebCam = new VideoCaptureDevice(LoaclWebCamsCollection[0].MonikerString); LocalWebCam.DesiredFrameSize = new System.Drawing.Size(320, 240); //MessageBox.Show(LocalWebCam.DesiredFrameSize.ToString()); LocalWebCam.NewFrame += new NewFrameEventHandler(Cam_NewFrame); LocalWebCam.Start(); } void Cam_NewFrame(object sender, NewFrameEventArgs eventArgs) { BitmapImage bi = new BitmapImage(); try { img = (Bitmap)eventArgs.Frame.Clone(); MemoryStream ms = new MemoryStream(); img.Save(ms, ImageFormat.Bmp); ms.Seek(0, SeekOrigin.Begin); bi.BeginInit(); bi.StreamSource = ms; bi.EndInit(); bi.Freeze(); Dispatcher.BeginInvoke(new ThreadStart(delegate { frameHolder.Source = bi; })); } catch (Exception ex) { MessageBox.Show(ex.Message, "NW CDM Test of Image Capture Failed"); } } Sultan Uz Zaman at 4 hrs ago Reply Modify the comment. Delete the comment. A button click event does the follwoing to save the pic: public static void SavePic(string imageFile) { //Cam_NewFrame(null,null); //image1.Source = frameHolder.Source; //Image frame = frameHolder.Cam_NewFrame(null,null); // Release any previous buffer MainWindow myWin = Application.Current.MainWindow as MainWindow; RenderTargetBitmap bitmap = new RenderTargetBitmap(320, 240, 96, 96, PixelFormats.Pbgra32); bitmap.Render(myWin.frameHolder); using (FileStream stream = File.Create(Global.xImageLocation+"\\"+imageFile)) // or .png { JpegBitmapEncoder encoder = new JpegBitmapEncoder(); encoder.QualityLevel = 90; encoder.Frames.Add(BitmapFrame.Create(bitmap)); encoder.Save(stream); } }

                              1 Reply Last reply
                              0
                              • P Pete OHanlon

                                It's a stream of bytes. The image control just renders the bytes out - it's a convenience for you. You don't need it. Think about how you save a stream of bytes instead - that's the key. Forget that the Image Control ever existed.

                                S Offline
                                S Offline
                                Sultan Uz Zaman
                                wrote on last edited by
                                #15

                                This is where I failed to implement. Can you please share with me a few codes so I could understand the fact to store the stream anything other than the image control and grab the current from that variable?

                                P 1 Reply Last reply
                                0
                                • S Sultan Uz Zaman

                                  This is where I failed to implement. Can you please share with me a few codes so I could understand the fact to store the stream anything other than the image control and grab the current from that variable?

                                  P Offline
                                  P Offline
                                  Pete OHanlon
                                  wrote on last edited by
                                  #16

                                  You already have the code. All you need to do is use a FileStream instead of a MemoryStream to write the bytes out to a file.

                                  S 1 Reply Last reply
                                  0
                                  • P Pete OHanlon

                                    You already have the code. All you need to do is use a FileStream instead of a MemoryStream to write the bytes out to a file.

                                    S Offline
                                    S Offline
                                    Sultan Uz Zaman
                                    wrote on last edited by
                                    #17

                                    Still cannot figure out. Please help the novice.

                                    1 Reply Last reply
                                    0
                                    • S Sultan Uz Zaman

                                      I would like to know if it is possible to develop an webcam application under WPF C# to capture webcam image and save it to disk without showing the preview (showing the content to the user)?

                                      P Offline
                                      P Offline
                                      Paul Conrad
                                      wrote on last edited by
                                      #18

                                      Didn't you just post a code dump about this the other day? If so, what part of the code doesn't work?

                                      "I've seen more information on a frickin' sticky note!" - Dave Kreskowiak

                                      1 Reply Last reply
                                      0
                                      • S Sultan Uz Zaman

                                        Don't worry, the DropBoxes are generally like this and it does not have any illegal elements. And by the way we are actually looking for something where there is no preview - just capture on demand. So, even if the user sees the light of the webcam it really doesn't matter because it actually strengthens his side in case of any dispute unless he claims anything useless (like claiming transaction without dropping the envelop).

                                        P Offline
                                        P Offline
                                        Paul Conrad
                                        wrote on last edited by
                                        #19

                                        Eddy didn't mean illegal activity, but more of the legality of having a person on camera. You may need to have consent from the person or some notification that they are being filmed.

                                        "I've seen more information on a frickin' sticky note!" - Dave Kreskowiak

                                        1 Reply Last reply
                                        0
                                        Reply
                                        • Reply as topic
                                        Log in to reply
                                        • Oldest to Newest
                                        • Newest to Oldest
                                        • Most Votes


                                        • Login

                                        • Don't have an account? Register

                                        • Login or register to search.
                                        • First post
                                          Last post
                                        0
                                        • Categories
                                        • Recent
                                        • Tags
                                        • Popular
                                        • World
                                        • Users
                                        • Groups