<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Webcam Auflösung]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich beschäftige mich momentan mit dem Webcam Programm von <a href="http://www.cppb.allanpetersen.com/software.htm" rel="nofollow">http://www.cppb.allanpetersen.com/software.htm</a> . Diese Programm arbeitet mit der WinAPI. Ich habe es schon so verändert, dass durch einen Timer alle 10sek ein Bild geschossen wird, was in einem anderen Programm weiterverarbeitet wird.</p>
<p>Leider bekomme ich es nicht hin, die Auflösung der Webcam zu ändern. Ich möchte diese fest auf 640x480 stellen. Die Webcam-Aufnahme startet jedoch immer auf 320x240. Meine Cam kann Auflösungen von 640x480 darstellen.</p>
<p>Ich arbeite mit dem Borland C++Builder</p>
<p>Auf Wunsch kann ich auch den Quelltext posten. Dieser ist jedoch noch fast wie auf der oben genannten Homepage vorhanden.</p>
<p>Durch Nachforschungen hier im Forum bin ich schon auf die capSetVideoFormat Funktion gestoßen. Diese wird in<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-116057-and-view-is-next.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-116057-and-view-is-next.html</a><br />
und<br />
<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_capsetvideoformat.asp" rel="nofollow">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_capsetvideoformat.asp</a><br />
beschrieben.</p>
<p>Leider bin ich neu in WinAPI und versteh leider nicht, was das für Argumente sind, die die Funktion braucht. Kann mir das bitte jemand erklären? Lese die Seiten jetzt schon seit Minuten durch und verstehe nur Bahnhof. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/161929/webcam-auflösung</link><generator>RSS for Node</generator><lastBuildDate>Sun, 19 Apr 2026 05:24:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/161929.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 12 Oct 2006 12:44:27 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Webcam Auflösung on Thu, 12 Oct 2006 12:44:27 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich beschäftige mich momentan mit dem Webcam Programm von <a href="http://www.cppb.allanpetersen.com/software.htm" rel="nofollow">http://www.cppb.allanpetersen.com/software.htm</a> . Diese Programm arbeitet mit der WinAPI. Ich habe es schon so verändert, dass durch einen Timer alle 10sek ein Bild geschossen wird, was in einem anderen Programm weiterverarbeitet wird.</p>
<p>Leider bekomme ich es nicht hin, die Auflösung der Webcam zu ändern. Ich möchte diese fest auf 640x480 stellen. Die Webcam-Aufnahme startet jedoch immer auf 320x240. Meine Cam kann Auflösungen von 640x480 darstellen.</p>
<p>Ich arbeite mit dem Borland C++Builder</p>
<p>Auf Wunsch kann ich auch den Quelltext posten. Dieser ist jedoch noch fast wie auf der oben genannten Homepage vorhanden.</p>
<p>Durch Nachforschungen hier im Forum bin ich schon auf die capSetVideoFormat Funktion gestoßen. Diese wird in<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-116057-and-view-is-next.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-116057-and-view-is-next.html</a><br />
und<br />
<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_capsetvideoformat.asp" rel="nofollow">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_capsetvideoformat.asp</a><br />
beschrieben.</p>
<p>Leider bin ich neu in WinAPI und versteh leider nicht, was das für Argumente sind, die die Funktion braucht. Kann mir das bitte jemand erklären? Lese die Seiten jetzt schon seit Minuten durch und verstehe nur Bahnhof. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1153547</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1153547</guid><dc:creator><![CDATA[Schmuech]]></dc:creator><pubDate>Thu, 12 Oct 2006 12:44:27 GMT</pubDate></item><item><title><![CDATA[Reply to Webcam Auflösung on Fri, 13 Oct 2006 06:09:03 GMT]]></title><description><![CDATA[<p>Kann mir keiner helfen? Das wäre echt wichtig, weil ich die Funktion für ein Projekt brauche, das auf 640x480 ausgelegt ist... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1153973</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1153973</guid><dc:creator><![CDATA[Schmuech]]></dc:creator><pubDate>Fri, 13 Oct 2006 06:09:03 GMT</pubDate></item><item><title><![CDATA[Reply to Webcam Auflösung on Fri, 13 Oct 2006 08:12:03 GMT]]></title><description><![CDATA[<p>So learning bei doing.</p>
<p>Hab mir im Netz ein bisschen was zusammengesucht und auf diese Weiße verwirklicht:</p>
<blockquote>
<p>//Die Standarteinstellungen laden<br />
DWORD dwSize;<br />
BITMAPINFO *pbiInfo;</p>
<p>dwSize=capGetVideoFormatSize(hwndVideo);</p>
<p>capGetVideoFormat(hwndVideo, pbiInfo, dwSize);</p>
<p>// Einstellen der neuen Werte<br />
DWORD dwWidth,dwHeight,dwBPP;<br />
char *svWidth,*svHeight,*svBPP;</p>
<p>dwWidth=640;<br />
dwHeight=480;<br />
dwBPP=16;</p>
<p>pbiInfo-&gt;bmiHeader.biWidth = dwWidth;<br />
pbiInfo-&gt;bmiHeader.biHeight = dwHeight;<br />
pbiInfo-&gt;bmiHeader.biBitCount = (WORD) dwBPP;</p>
<p>pbiInfo-&gt;bmiHeader.biSizeImage = 0;<br />
pbiInfo-&gt;bmiHeader.biCompression = BI_RGB;<br />
pbiInfo-&gt;bmiHeader.biClrUsed = 0;<br />
pbiInfo-&gt;bmiHeader.biClrImportant = 0;<br />
pbiInfo-&gt;bmiHeader.biPlanes = 1;</p>
<p>pbiInfo-&gt;bmiColors-&gt;rgbBlue = 0;<br />
pbiInfo-&gt;bmiColors-&gt;rgbGreen = 0;<br />
pbiInfo-&gt;bmiColors-&gt;rgbRed = 0;<br />
pbiInfo-&gt;bmiColors-&gt;rgbReserved = 0;</p>
<p>//Zurückschreiben zur API<br />
capSetVideoFormat(hwndVideo, pbiInfo, dwSize);</p>
</blockquote>
<p>Leider wird das Videofenster immernoch nur in der Auflösung 320x240 angezeigt. Ich dreh langsam durch. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1154046</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1154046</guid><dc:creator><![CDATA[Schmuech]]></dc:creator><pubDate>Fri, 13 Oct 2006 08:12:03 GMT</pubDate></item><item><title><![CDATA[Reply to Webcam Auflösung on Mon, 16 Oct 2006 07:00:54 GMT]]></title><description><![CDATA[<p>Scheinbar ist mein Thema ziemlich uninteressant... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Hat keiner Ahnung vom Ansprechen einer Webcam mit C++?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1155405</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1155405</guid><dc:creator><![CDATA[Schmuech]]></dc:creator><pubDate>Mon, 16 Oct 2006 07:00:54 GMT</pubDate></item><item><title><![CDATA[Reply to Webcam Auflösung on Mon, 16 Oct 2006 12:55:42 GMT]]></title><description><![CDATA[<p>Bei <a href="http://www.codeproject.com" rel="nofollow">www.codeproject.com</a> gibt es Wrapperklassen für Webcams. Studiere einfach mal Code von anderen Leuten und gucke wie die das machen.<br />
Ich weiss von Kollegen, dass oft DirectShow für sowas eingesetzt wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1155698</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1155698</guid><dc:creator><![CDATA[NickHappy]]></dc:creator><pubDate>Mon, 16 Oct 2006 12:55:42 GMT</pubDate></item><item><title><![CDATA[Reply to Webcam Auflösung on Mon, 16 Oct 2006 13:51:34 GMT]]></title><description><![CDATA[<p>MSDN schrieb:</p>
<blockquote>
<p>Remarks<br />
Because video formats are device-specific, applications should check the return value from this function to determine if the format is accepted by the driver.</p>
</blockquote>
<p>Schau mal nach, ob's überhaupt klappt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1155746</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1155746</guid><dc:creator><![CDATA[Morris Szyslak]]></dc:creator><pubDate>Mon, 16 Oct 2006 13:51:34 GMT</pubDate></item><item><title><![CDATA[Reply to Webcam Auflösung on Tue, 17 Oct 2006 07:03:31 GMT]]></title><description><![CDATA[<p>Ich habs nach langem Rumprobieren jetzt endlich selber geschafft. Trotzdem vielen Dank für die Hilfe!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1156008</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1156008</guid><dc:creator><![CDATA[Schmuech]]></dc:creator><pubDate>Tue, 17 Oct 2006 07:03:31 GMT</pubDate></item><item><title><![CDATA[Reply to Webcam Auflösung on Tue, 17 Oct 2006 07:26:48 GMT]]></title><description><![CDATA[<p>Hi</p>
<p>Nach den Beträgen bin ich auch auf den Geschmack gekommen meine Webcam zu aktivieren. Könntest den SourceCode posten mit es geklappt hat. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Vielen Dank</p>
<p>Peter</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1156029</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1156029</guid><dc:creator><![CDATA[Peter_X]]></dc:creator><pubDate>Tue, 17 Oct 2006 07:26:48 GMT</pubDate></item><item><title><![CDATA[Reply to Webcam Auflösung on Tue, 17 Oct 2006 07:59:16 GMT]]></title><description><![CDATA[<p>Kann ich gern machen. Jedoch ist er, bis auf die Einstellung der Auflösung der selbe wie auf <a href="http://www.cppb.allanpetersen.com/software.htm" rel="nofollow">http://www.cppb.allanpetersen.com/software.htm</a>.</p>
<p>Die Cpp-Datei</p>
<pre><code class="language-cpp">#include &lt;vcl.h&gt;
#pragma hdrstop

#include &lt;stdio.h&gt;
#include &quot;c_cap.h&quot;
#include &quot;Unit6.h&quot;

//---------------------------------------------------------------------------
#pragma package(smart_init)

__fastcall TCap::TCap (HWND Handle)
{
        // create video capture window
        ParentHandle = Handle;
        hwndVideo = capCreateCaptureWindow(
                    (LPSTR) &quot;My Capture Window&quot;,
                    WS_CHILD | WS_VISIBLE,
                    0, 0, 300, 200,
                    (HWND) Handle,
                    (int) 1);

        pStringCapDrivers = new TStringList;
        SelectedDevice = -1;
}

__fastcall TCap::~TCap ()
{

        delete pStringCapDrivers;

        capCaptureStop(hwndVideo);
        capPreview(hwndVideo, FALSE); // end preview
        capDriverConnect(hwndVideo, SelectedDevice);
        capDriverDisconnect(hwndVideo); // disconnect from driver
        capCaptureAbort(hwndVideo);
}

//---------------------------------------------------------------------------
// enumerate the installed capture drivers
//---------------------------------------------------------------------------
int TCap::EnumCapDrv ()
{
	char szDeviceName[80]; // driver name
	char szDeviceVersion[80]; // driver version
	char str[161]; // concatinated string
	int xcap; // counter

        xcap = 0;
        pStringCapDrivers-&gt;Clear ();
        do
        {
                if (capGetDriverDescription(xcap, szDeviceName, sizeof(szDeviceName),
                szDeviceVersion, sizeof(szDeviceVersion)))
                {
                        sprintf (str, &quot;%s, %s&quot;, szDeviceName, szDeviceVersion);
                        pStringCapDrivers-&gt;AddObject (str, (TObject *)xcap);
                }
                else
                {
                        break;
                }
                xcap++;
        } while (true);

        return 0;
}

//---------------------------------------------------------------------------
//  connecting to selected device and starts preview
//---------------------------------------------------------------------------
void TCap::Connect (int Selected)
{
        CAPSTATUS CapStatus;
        int       hsize;

        // capDlgVideoDisplay(hwndVideo);
        // connect to the driver
        if (SelectedDevice != -1)
        {
        capPreview (hwndVideo, FALSE);
        capDriverConnect(hwndVideo, SelectedDevice);
        }

        if (!capDriverConnect(hwndVideo, Selected))
        {
        // ---- Unable to connect to driver
        return;
        }

        // update the driver capabilities
        capDriverGetCaps (hwndVideo, sizeof(CAPDRIVERCAPS), &amp;CapDrvCaps);

        capDlgVideoFormat(ParentHandle);

//-----------------------------------------------------------------------------

//**********Eigene Veränderungen an dem Header*********************************
//-----------------------------------------------------------------------------
        //Die Standarteinstellungen laden
	DWORD dwSize;                                                           // Länge der Formateigenschaften
	BITMAPINFO pbiInfo;                                                     // Bitmap-Eigenschaften der Datei

	dwSize=capGetVideoFormatSize(hwndVideo);                                // Messen der Länge

	capGetVideoFormat(hwndVideo, &amp;pbiInfo, dwSize);                         // Momentane Formatierung laden

	// Einstellen der neuen Werte
	DWORD dwWidth,dwHeight,dwBPP;

        dwWidth=640;                                                            // Horizontale Auflösung
        dwHeight=480;                                                           // Vertikale Auflösung
        dwBPP=24;                                                               // Farbtiefe

	pbiInfo.bmiHeader.biWidth = dwWidth;
	pbiInfo.bmiHeader.biHeight = dwHeight;
	pbiInfo.bmiHeader.biBitCount = (WORD) dwBPP;

	pbiInfo.bmiHeader.biSizeImage = 0;                                      // Größe der reservierten Bytes
	pbiInfo.bmiHeader.biCompression = BI_RGB;                               // Komprimierung (BI_RGB=keine Kompr.)
	pbiInfo.bmiHeader.biClrUsed = 0;                                        // Maximale Anzahl der dargestellten
	pbiInfo.bmiHeader.biClrImportant = 0;                                   // Farben, 0=alle Farben
	pbiInfo.bmiHeader.biPlanes = 1;                                         // Einstellung der Treiberebenen. Muss 1 sein

	pbiInfo.bmiColors-&gt;rgbBlue = 0;                                         // Eingabe der Farbverstärkung der
	pbiInfo.bmiColors-&gt;rgbGreen = 0;                                        // Grundfarben. 0=keine Verstärkung
	pbiInfo.bmiColors-&gt;rgbRed = 0;
	pbiInfo.bmiColors-&gt;rgbReserved = 0;                                     // Muss auf 0 gesetzt sein

	//Zurückschreiben zur API
	capSetVideoFormat(hwndVideo, &amp;pbiInfo, dwSize);
//-----------------------------------------------------------------------------

        // Die neu eingestellte Bildgröße wird in den CapStatus geladen
        capGetStatus(hwndVideo, &amp;CapStatus, sizeof(CAPSTATUS));

        hsize = GetSystemMetrics(SM_CYMENU);
        hsize += GetSystemMetrics(SM_CYCAPTION);

        // Das Anzeigefenster wird neu aufgebaut
        SetWindowPos(hwndVideo, NULL, 0, 0, CapStatus.uiImageWidth,
                CapStatus.uiImageHeight, SWP_NOZORDER | SWP_NOMOVE);
        SetWindowPos(ParentHandle, NULL, 0, hsize, CapStatus.uiImageWidth,
                CapStatus.uiImageHeight+hsize, SWP_NOZORDER | SWP_NOMOVE);

        // Stellt die Bildwiederholrate des Vorschaufensters ein
        capPreviewRate (hwndVideo, 33.3);

        // startet die Bildvorschau
        capPreview (hwndVideo, TRUE);

        // Das geöffnete Aufnahmegerät wird gespeichert
        SelectedDevice = Selected;

}

//---------------------------------------------------------------------------
//  Get access to the video source format box
//---------------------------------------------------------------------------
void TCap::Format ()
{
        int hsize;

        CAPSTATUS CapStatus;

        capDlgVideoFormat(hwndVideo);
        // Are there new image dimensions
        capGetStatus(hwndVideo, &amp;CapStatus, sizeof(CAPSTATUS));

        hsize = GetSystemMetrics(SM_CYMENU);
        hsize += GetSystemMetrics(SM_CYCAPTION);

        SetWindowPos(ParentHandle, NULL, 0, hsize, CapStatus.uiImageWidth,
                CapStatus.uiImageHeight+hsize, SWP_NOZORDER | SWP_NOMOVE);
        SetWindowPos(hwndVideo, NULL, 0, 0, CapStatus.uiImageWidth,
                CapStatus.uiImageHeight, SWP_NOZORDER | SWP_NOMOVE);
}
//---------------------------------------------------------------------------
//  Get access to the video source dialog box
//---------------------------------------------------------------------------
void TCap::Source ()
{
        capDlgVideoSource(hwndVideo);
}

//---------------------------------------------------------------------------
//  capture a frame and save it
//---------------------------------------------------------------------------
void TCap::CaptureFrame (char *FileName)
{
        capFileSaveDIB (hwndVideo, FileName);
}
//---------------------------------------------------------------------------
</code></pre>
<p>Der Header</p>
<pre><code class="language-cpp">//---------------------------------------------------------------------------

#ifndef c_capH
#define c_capH
//---------------------------------------------------------------------------
#include &lt;vfw.h&gt; // video for windows library

class TCap
{
private:

protected:
    HWND ParentHandle;
    HWND hwndVideo;
    CAPDRIVERCAPS CapDrvCaps; // driver capabilities

    int     SelectedDevice;

public:
    TStringList     *pStringCapDrivers;
    int EnumCapDrv();
    void Connect (int Selected);
    void Format ();
    void Source ();
    void CaptureFrame (char *FileName);
  __fastcall TCap(HWND Handle);
  __fastcall ~TCap();
};

#endif
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1156058</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1156058</guid><dc:creator><![CDATA[Schmuech]]></dc:creator><pubDate>Tue, 17 Oct 2006 07:59:16 GMT</pubDate></item><item><title><![CDATA[Reply to Webcam Auflösung on Tue, 29 Apr 2008 08:47:06 GMT]]></title><description><![CDATA[<p>an der unit datei hast du nichts geändert? Meine heißt nämlich Unit1.h/.cpp<br />
wie machst du denn damit nun ein Bild, wenn du nicht die GUI benutzt?<br />
Ist es möglich das Bild direct als 2d-array zu erhalten(jedes Element ist ein Pixel mit den Farb(bzw Grauwerten))???<br />
ich wollte nämlich ne console app machen die alle 0.x sekunden ein bild in den arbeitsspeicher schreibt und mit bildpunktarrays(grauwerte) nen bischen rumrechnet.</p>
<p>z.B.:<br />
mache referenzbild lade in array.<br />
mache bild lade in array.<br />
bilde die differenz.<br />
rechne die veränderte fläche aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1500285</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1500285</guid><dc:creator><![CDATA[KOR]]></dc:creator><pubDate>Tue, 29 Apr 2008 08:47:06 GMT</pubDate></item><item><title><![CDATA[Reply to Webcam Auflösung on Tue, 29 Apr 2008 08:50:05 GMT]]></title><description><![CDATA[<p>[gelöscht wegen Unsinn]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1500296</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1500296</guid><dc:creator><![CDATA[mad_martin]]></dc:creator><pubDate>Tue, 29 Apr 2008 08:50:05 GMT</pubDate></item></channel></rss>