|
Yes, you're right. It's not necessary for me to find my template in a bigger image. I just thought about the fact you mentioned,
to find some simple objects on which I can relocate the image.
I know the OpenCV template matching functions, they do pretty well.
But they are only for translation invariant pictures, so I need something to find to rotation angle.
The OpenCV template matching only uses some correlation or square difference techniques. I only can use them
in the case my image is rotated the right way.
I also observed, that there's some optimization space in the OpenCV functions, as you said.
How did you locate the traffic cone? How did you find the rotation angle respective scaled cones?
I'd be happy if you could just tell me the keyword of the technique, something I could research...
For now, I only read about techniques of that log-polar stuff and similar things in frequency domain.
I wonder now if there could be another way to relocate the rotation/scalation.
So far, thanks Tim!
|
|
|
|
|
I was looking for the traffic cone as an experiment in seeing how difficult the vision system for a RoboMagellan robot would have to be, also to get some practical exerience in color matching and alternative color schemes, HSV, HSL, etc. I didn't really care about the orientation or size, only position relative to the camera since one way or another the robot has to turn and drive straight to the cone. If I wanted the orientation, I'd use the higher moments of the cone in the image to get its principal axes.
To find the cone, I simply ran through the image tagging pixels as cone or not cone until I had a binary image. I fed that to the blob library and kept the largest blob assuming it was the cone. Since RoboMagellan is run outdoors, finding international orange in your image is a pretty good predictor of it being a cone. You would also have the GPS coordinates of the cone so you have a fair idea where to look, although last year Camp hid one behind a tree. Turns out that any color scheme which separates color information from luminance works way better than native RGB (or BGR as OpenCV insists on ). If you're not familiar with RoboMagellan, the rules are here[^]. Some pictures of an actual even at RoboGames 2009[^] that I took.
You measure democracy by the freedom it gives its dissidents, not the freedom it gives its assimilated conformists.
|
|
|
|
|
First of all: Thanks Tim for the time you spent on the answers!
I appreciate that very much.
You gave me some interesting issues to think about.
I hope, you'll do further well with the cones and the Robots
|
|
|
|
|
Could someone more experienced with dialog frame sizing clarify for me how does MFC MDI determines the size of the MDIChildFrame?
My modeless dialog is in FormView ( Property Sheet component) and I can re-size that by changing the dialog resource. I am using tabs and the dialog frame follows the largest tab / page.
When I use ResizeParentToFit() in OnInitialUpdate of the FromView I end up with a small frame.
However, when I skip the ResizeParentToFit() and use ShowWindow(SW_SHOWMAXIMIZED) I get different , large, FormView frame.
I stepped thru the ResizeParentToFit() and still do not see where are the view area dimensions coming from. They seems to be the actual dimensions used by ResizeParentToFit() and ShowWindow(SW_SHOWMAXIMIZED) .
What I really want is to maximize the FormView programatically to fit the whole MainFrame.
The automatic sizing the dialog frame itself is fine, but not exactly what I want.
Any constructive help is as always appreciated.
Thanks for your time.
Vaclav
|
|
|
|
|
|
Nice, but...
I wanted to know how does MFC manage the document / view sizing.
Thanks for your input.
Vaclav
|
|
|
|
|
Hi to all.
Is it possible to have a 32x32 images on toolbar while keeping 16x16 in menu.
I created toolbar resource (IDR_TOOLBAR1) and set it's button size as 32x32 and load it:
if (!m_wndToolBar.CreateEx(this,...) ||
!m_wndToolBar.LoadToolBar(IDR_TOOLBAR1 ))
{
...
}
When compiled and started toolbar correctly shows large btn images but menu is also enlarged showing 32x32 item images!? How to have menu images as before (small 16x16)?
My app info: SDI, VS2008
Thanks in advance!
|
|
|
|
|
See here an project sample which use small and big toolbar in the same application ...
|
|
|
|
|
Thaks for yours replay. The sample you pointed to me unfortunaly uses images only on toolbar and not menu. I've pulled some ideas from it so thanks once again!
|
|
|
|
|
I've solved it
if (!m_wndMenuBar.Create(this))
{
TRACE0("Failed to create menubar\n");
return -1;
}
m_wndMenuBar.SetMenuSizes(CSize(22,22), CSize(16,16));
m_wndMenuBar.SetPaneStyle(m_wndMenuBar.GetPaneStyle() | CBRS_SIZE_DYNAMIC | CBRS_TOOLTIPS | CBRS_FLYBY);
CMFCPopupMenu::SetForceMenuFocus(FALSE);
CMFCToolBarInfo tbInfo;
tbInfo.m_uiColdResID = 0;
tbInfo.m_uiDisabledResID = 0;
tbInfo.m_uiHotResID = 0;
tbInfo.m_uiLargeColdResID = 0;
tbInfo.m_uiLargeDisabledResID = 0;
tbInfo.m_uiLargeHotResID = 0;
tbInfo.m_uiMenuResID = IDR_MAINFRAME_256;
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC)
|| !m_wndToolBar.LoadToolBarEx(IDR_TOOLBAR1, tbInfo)) {
TRACE0("Failed to create toolbar\n");
return -1;
}
- Call CMFCMenuBar::SetMenuSizes() before creating toolbar
- Use CMFCToolBarInfo struct leaving all members to 0 except m_uiMenuResID where you pass yours 16x16 sized resource entry
- CallLoadToolBarEx()
Off course IDR_TOOLBAR1 is 32x32 sized
|
|
|
|
|
Hi,
I have an MDI application.I create an a Modeless dialog on a menu click.I would like to make it behave like a Modal dialog box. How should I do that?
Thanks
Satya
Today is a gift, that's why it is called the present.
|
|
|
|
|
You can try disabling the parent of the dialog by using EnableWindow(FALSE).
|
|
|
|
|
Hi,
Thanks for the reply. But I also dont want my mainframe window to receive messages.I want the exact behaviour of DoModal.
Thanks
Satya
Today is a gift, that's why it is called the present.
|
|
|
|
|
narayanagvs wrote: I want the exact behaviour of DoModal.
Sorry, I don't understand. If you want 'the exact behaviour of DoModal' then why do you create a Modeless dialog?
Ali
|
|
|
|
|
I just want to know. This is a question asked to me.
Satya
Today is a gift, that's why it is called the present.
|
|
|
|
|
OK, thanks for answering, I don't think I can help you, I hope someone else can.
Ali
|
|
|
|
|
|
Just call DoModal [^] member function of the dialog in the, menu message handler.
|
|
|
|
|
Create another dialog class with the dialog resource of your dialog.
Press F1 for help or google it.
Greetings from Germany
|
|
|
|
|
Hi,
I am working in VC++2008 environment, Please Could you tell me why when I use the following header file:
#include<graphics.h>;
the following error is appeard:
d:\work c++\alg_helbert\alg_helbert\df.cpp(53) : fatal error C1083: Cannot open include file: 'graphics.h': No such file or directory
I want to use the follwing functions:
setcolor Graphmode Textmode , lineto ……………!!!!
Thank you
thank you
soso
|
|
|
|
|
I think you are trying to compile the code, which was written using turbo c++ compiler? Because
anassamar wrote: 'graphics.h':
and
anassamar wrote: I want to use the follwing functions:
setcolor Graphmode Textmode , lineto ……………!!!!
are graphical functions and header file provided in turbo c++ compiler.
|
|
|
|
|
To add to Mohan Ramachandra's reply, this was a proprietary library for the DOS environment. In other words, this was a graphics library for use in DOS programs only, not Windows or anything else. It was also designed and provided by one company - it is not standard, is not a part of C, and not a part of C++.
While you certainly can do graphics for Windows, it is done differently. See here[^] for graphics stuff that is used with windows at the api level, though there is more in knowing when and how to use this stuff. Do note that normally in a windows program, one only draws to a window device context in response to a WM_PAINT message. (If you are using MFC, that would be in OnPaint or OnDraw. )
Graphics and display is different in Windows than it was in DOS. You have a lot of research and reading to do.
Good luck.
Please do not read this signature.
|
|
|
|
|
hi friends,
i am using Visual studio 6.0, Windows.
i dowload an opensource project "wput" :: Wput is a command-line ftp-client that looks like wget but instead of downloading, uploads files or whole directories to remote ftp-servers.
http://wput.sourceforge.net/[^]
as i compile the project i got tons of errors,
ftp-ls.c(40) : fatal error C1083: Cannot open include file: 'unistd.h': No such file or directory
unistd.h is not present anywhere in my system.
Any suggestions!
|
|
|
|
|
unistd.h is not present anywhere in my system.
thats why you are getting the error. Find out that file, and set the correct 'include path' in project settings.
|
|
|
|
|
Can you use the pre-compiled binary instead of compiling it?
"I'm willing to admit that I may not always be right, but I am never wrong." - Samuel Goldwyn
|
|
|
|