<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>야곰야곰's S/W 공부</title>
    <link>https://stormpy.tistory.com/</link>
    <description>공부하는 걸 계속 잊어버리는 경향이 있어서...
찾는게 귀찮아서 모아두려고 만든 블로그</description>
    <language>ko</language>
    <pubDate>Wed, 10 Jun 2026 16:36:08 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>야곰야곰+책벌레</managingEditor>
    <image>
      <title>야곰야곰's S/W 공부</title>
      <url>https://tistory1.daumcdn.net/tistory/1390/attach/a4eb3e25beb64863a238c0840a3456ca</url>
      <link>https://stormpy.tistory.com</link>
    </image>
    <item>
      <title>CogCalibCheckrboardTool 사용하기</title>
      <link>https://stormpy.tistory.com/394</link>
      <description>카메라 왜곡을 보정하기 위해서 화면 상의 맵핑 테이블을 만들어 보정해야 한다.
이때 가장 편하게 사용할 수 있는 것이 Checkerboard다. Cognex에서 판매하는 Checkerboard도 있지만 경우에 따라 프린터해서 사용할 수도 있다.
물론 사용하려는 정확도 수준에 따라 달라질 수 있다.
&amp;nbsp;
VisionPro ToolBox의 Calibration &amp;amp; Fixturing 폴더에서 체크보드 툴을 선택한다.

&amp;nbsp;
보정 탭에서 ..</description>
      <category>산업기술/Cognex</category>
      <category>checkerboardtool</category>
      <category>Cognex</category>
      <category>체커보드</category>
      <category>코그넥스</category>
      <author>야곰야곰+책벌레</author>
      <guid isPermaLink="true">https://stormpy.tistory.com/394</guid>
      <comments>https://stormpy.tistory.com/394#entry394comment</comments>
      <pubDate>Mon, 16 Sep 2024 10:39:01 +0900</pubDate>
    </item>
    <item>
      <title>QuickBuild에서 ToolBlock 사용하기</title>
      <link>https://stormpy.tistory.com/393</link>
      <description>Cognex를 사용할 시, 여러 tool을 마음대로 바꿔가며 결과를 구할 수 있도록 프로그램 하기 위해 Cognex에서 제공하는 vpp 파일을 사용한다.
여기서 주의할 점은 Cognex에서 사용하는 모든 파일은 vpp라는 확장자를 가지고 있다. 그렇기 때문에 정확한 tool에서 제공하는 vpp를 읽어와야 한다.
VisionPro tool은 각각 저장할 수 있지만 가장 다루기 쉬운 ToolBock를 사용하기로 한다.
Job 파일의 경우 이미지 소스와 연동..</description>
      <category>산업기술/Cognex</category>
      <category>Cognex</category>
      <category>toolblock</category>
      <category>코그넥스</category>
      <author>야곰야곰+책벌레</author>
      <guid isPermaLink="true">https://stormpy.tistory.com/393</guid>
      <comments>https://stormpy.tistory.com/393#entry393comment</comments>
      <pubDate>Mon, 16 Sep 2024 10:13:09 +0900</pubDate>
    </item>
    <item>
      <title>(C#) DataGridView 데이터 업데이트 안되는 경우</title>
      <link>https://stormpy.tistory.com/392</link>
      <description>Edit나 ComBox를 사용할 경우, 변경 후 Focus를 잃을 때까지 데이터는 업데이트 되지 않아 콤보박스를 수정하고 바로 저장을 누른다고 데이터가 저장되지 않는다. 변경 후 Enter 키를 누르거나 다른 Cell을 눌러줘야만 제대로 변경점이 적용된다.
&amp;nbsp;
이럴 때는 저장 전에 EndEdit()를 호출하면 된다.
&amp;nbsp;
dataGridView1.EndEdit();
&amp;nbsp;
간단하게 해결 했다.</description>
      <category>Program Language/C#</category>
      <category>c#</category>
      <category>DataGridView</category>
      <category>데이터 바인딩 상태</category>
      <author>야곰야곰+책벌레</author>
      <guid isPermaLink="true">https://stormpy.tistory.com/392</guid>
      <comments>https://stormpy.tistory.com/392#entry392comment</comments>
      <pubDate>Mon, 5 Aug 2024 16:56:19 +0900</pubDate>
    </item>
    <item>
      <title>코그넥스 toolblock</title>
      <link>https://stormpy.tistory.com/391</link>
      <description>vpp 읽어오기
CogToolBlock CogTools = new CogToolBlock();

if (!File.Exists(filepath))
    return;

CogTools = CogSerializer.LoadObjectFromFile(filepath) as CogToolBlock;
&amp;nbsp;
실행하기
&amp;nbsp;
if (CogTools.Tools.Count &amp;lt; 1/* || CogTools.Inputs[&quot;InputImage&quot;].Val..</description>
      <category>산업기술/Cognex</category>
      <category>toolblock</category>
      <category>코그넥스</category>
      <author>야곰야곰+책벌레</author>
      <guid isPermaLink="true">https://stormpy.tistory.com/391</guid>
      <comments>https://stormpy.tistory.com/391#entry391comment</comments>
      <pubDate>Fri, 26 Jul 2024 11:36:37 +0900</pubDate>
    </item>
    <item>
      <title>코그넥스 JobManager</title>
      <link>https://stormpy.tistory.com/390</link>
      <description>읽어오기
CogJobManager JobManager;
List&amp;lt;CogJob&amp;gt; Job = new List&amp;lt;CogJob&amp;gt;();
List&amp;lt;CogJobIndependent&amp;gt; independetJob= new List&amp;lt;CogJobIndependent&amp;gt;();

// VPP  읽어오기
JobManager = (CogJobManager)CogSerializer.LoadObjectFromFile(filepath);
for (..</description>
      <category>산업기술/Cognex</category>
      <category>jobmanager</category>
      <category>코그넥스</category>
      <author>야곰야곰+책벌레</author>
      <guid isPermaLink="true">https://stormpy.tistory.com/390</guid>
      <comments>https://stormpy.tistory.com/390#entry390comment</comments>
      <pubDate>Fri, 26 Jul 2024 11:34:06 +0900</pubDate>
    </item>
    <item>
      <title>코그넥스 이미지 처리</title>
      <link>https://stormpy.tistory.com/389</link>
      <description>이미지 가져오기
CogImageFile file = new CogImageFile();
file.Open(filepath, CogImageFileModeConstants.Read);
cogImage = (ICogImage)file[0];
file.Close();

ICogImage cogImage = CogImageConvert.GetIntensityImage(cogImage, 0, 0, cogImage.Width, cogImage.Height);
&amp;n..</description>
      <category>산업기술/Cognex</category>
      <category>이미지</category>
      <category>코그넥스</category>
      <author>야곰야곰+책벌레</author>
      <guid isPermaLink="true">https://stormpy.tistory.com/389</guid>
      <comments>https://stormpy.tistory.com/389#entry389comment</comments>
      <pubDate>Fri, 26 Jul 2024 10:58:04 +0900</pubDate>
    </item>
    <item>
      <title>(C#) 파일 다이얼로그</title>
      <link>https://stormpy.tistory.com/388</link>
      <description>파일 열기
OpenFileDialog dlg = new OpenFileDialog()
{
    FileName = &quot;Select a Image file&quot;,
    Filter = &quot;Image files (*.bmp)|*.bmp&quot;,
    Title = &quot;Open Image file&quot;
};

if (DialogResult.OK == dlg.ShowDialog())
{
	var filepath = dlg.FileName;
}
&amp;nbsp;
파일 저장
&amp;nb..</description>
      <category>Program Language/C#</category>
      <category>c#</category>
      <category>파일다이얼로그</category>
      <author>야곰야곰+책벌레</author>
      <guid isPermaLink="true">https://stormpy.tistory.com/388</guid>
      <comments>https://stormpy.tistory.com/388#entry388comment</comments>
      <pubDate>Fri, 26 Jul 2024 10:54:52 +0900</pubDate>
    </item>
    <item>
      <title>(MFC) CFileDialog 필터 사소한 실수</title>
      <link>https://stormpy.tistory.com/387</link>
      <description>TCHAR szFilter[] = _T(&quot;Bitmap Data (*.bmp) | *.bmp ||&quot;);
CFileDialog dlg(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter, this);
&amp;nbsp;
이렇게 하면 *.bmp 파일이 나타나지 않는다. 왜?
확장자 필터링 하는 문자열에서 뒤에 공백이 있으면 공백도 문자로 인식하는 듯 하다.
&amp;nbsp;
TCHAR szFilter[]..</description>
      <category>Program Language/API | MFC</category>
      <category>filedialog</category>
      <category>Filter</category>
      <category>MFC</category>
      <author>야곰야곰+책벌레</author>
      <guid isPermaLink="true">https://stormpy.tistory.com/387</guid>
      <comments>https://stormpy.tistory.com/387#entry387comment</comments>
      <pubDate>Wed, 22 May 2024 16:29:00 +0900</pubDate>
    </item>
    <item>
      <title>(MFC) 디렉토리 선택 코드</title>
      <link>https://stormpy.tistory.com/386</link>
      <description>CString COptionDlg::SelectDirectory(CString currentPath, CString caption)
{
	BROWSEINFO info;
	wchar_t szBuffer[MAX_PATH];

	::ZeroMemory(&amp;amp;info, sizeof(BROWSEINFO));
	::ZeroMemory(szBuffer, MAX_PATH);

	info.hwndOwner = GetSafeHwnd();
	info.lpszTitle ..</description>
      <category>코드/MFC</category>
      <author>야곰야곰+책벌레</author>
      <guid isPermaLink="true">https://stormpy.tistory.com/386</guid>
      <comments>https://stormpy.tistory.com/386#entry386comment</comments>
      <pubDate>Wed, 22 May 2024 16:20:02 +0900</pubDate>
    </item>
    <item>
      <title>(MFC) Button Click 이벤트</title>
      <link>https://stormpy.tistory.com/385</link>
      <description>Button Click을 테스트해 보는데 이상한 점을 발견했다.
app 밖을 클릭하여 포커스를 잃은 뒤 버튼을 클릭하면 동작을 하지 않는 경우가 발생하는데,
이것은 이전에 눌렀던 버튼을 눌렀을 때 그런 현상이 보였다.
&amp;nbsp;
화면 밖 클릭 -&amp;gt; 버튼 1 클릭 -&amp;gt; 화면 밖 클릭 -&amp;gt; 버튼 1 클릭&amp;nbsp;
&amp;nbsp;
이런 식이다.
&amp;nbsp;
LButtonDown과 LButtonUp 이벤트는 모두 정상적으로 발생했는데 Click..</description>
      <category>Program Language/API | MFC</category>
      <category>MFC</category>
      <category>이벤트</category>
      <category>클릭</category>
      <author>야곰야곰+책벌레</author>
      <guid isPermaLink="true">https://stormpy.tistory.com/385</guid>
      <comments>https://stormpy.tistory.com/385#entry385comment</comments>
      <pubDate>Tue, 21 May 2024 17:02:01 +0900</pubDate>
    </item>
  </channel>
</rss>