Nuzhny 243 Жалоба Опубликовано May 22, 2014 Посмотри от каких dll она зависит, от каких dll зависят зависимые dll. Чего-то где-то не хватает, короче. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано May 22, 2014 Просто разрядность системы не совпадает с разрядностью проекта, проект хочет юзать системные DLL-ки, а они не подходят. Измените профиль проекта (x64 , win32). Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
brutalis 5 Жалоба Опубликовано May 22, 2014 Просто разрядность системы не совпадает с разрядностью проекта, проект хочет юзать системные DLL-ки, а они не подходят. Измените профиль проекта (x64 , win32). не могли бы вы подсказать как это сделать. просмотрев профиль проекта я не нашел где там указанна разрядность. кроме выбора компиляторов таких как mvs2010/2012 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано May 23, 2014 При необходимости создайте новый профиль в Configuration manager. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
brutalis 5 Жалоба Опубликовано May 27, 2014 еще раз приветствую. помогите пожалуйста написать программу для распознавания 10-15 qr кодов. она должна при нахождении на видео(видео идет потоком с камеры) нужного кода вернуть соответсвующую функцию. самому не хватает знаний среда разработки qt(mingw)+opencv под вин7 заранее спасибо Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано May 28, 2014 Копать здесь: https://github.com/zxing/zxing/tree/00f634024ceeee591f54e6984ea7dd666fab22ae/cpp http://zbar.sourceforge.net/ Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
brutalis 5 Жалоба Опубликовано June 3, 2014 еще раз всех приветствую. помогите пожалуйста написать(напишите) программу, за вознагрождение. 1.распознание маркеров. таких как стрелочки например, думаю лучше использовать qr-код(возврат какой нибудь функции при обнаружении). 2.получить и отслеживать координаты точек(центра масс множества точек) расставляемых на картинке. или что нибудь одно самому не хватает знаний и времени. среда разработки qt(mingw)+opencv под вин7 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
iskees 32 Жалоба Опубликовано June 3, 2014 а в чес собственно сложность найти и распознать баркод. если код совсем крупные и не нужна скорость, то берете zxing скармливаеете ей битмап и получаете код если он там есть. Если нужно с начало найти и вырезать код, то делаете бинаризацию или любой edge благо границы контрастные, ищите квадраты (findcountur и фильтр по соотношению сторон) ну и у вслучае qr кода ищите три стоящих рядом одного размера, а в слоучае азтека два вложенных. Не знаю как в qt но на C# это выглядит так. using (var emguimage = emgu.Convert<Gray, byte>()) using (var emgucanny = emguimage.ThresholdBinary(new Gray(120), new Gray(255))) using (var memStorage = new MemStorage()) { var rect = new List<MCvBox2D>(); emgucanny.SmoothMedian(5); var contours = emgucanny.FindContours(CHAIN_APPROX_METHOD.CV_CHAIN_APPROX_SIMPLE,RETR_TYPE.CV_RETR_CCOMP, memStorage); for (; contours != null; contours = contours.HNext) if ( Math.Abs(Convert.ToDouble(contours.BoundingRectangle.Width) / contours.BoundingRectangle.Height - 1) < 0.3) { var numberOfChildren = GetNumberOfChildren(contours); if (numberOfChildren == 0) continue; rect.Add( contours.GetMinAreaRect()); } rect.Sort((t1, t2) => t2.size.Width.CompareTo(t1.size.Width)); for (var i = 0; i < rect.Count - 1; i++) { var t = new List<MCvBox2D> {rect[i]}; for (var j = i + 1; j < rect.Count; j++) if ( (Convert.ToDouble(t[t.Count - 1].MinAreaRect().Width) / rect[j].MinAreaRect().Width) >2 && t[t.Count - 1].MinAreaRect().Contains(rect[j].MinAreaRect()) ) t.Add(rect[j]); if (t.Count == 2) { var r = rect[i]; var mr =r.MinAreaRect(); var sr = new Rectangle(Convert.ToInt32(r.center.X - mr.Width*2), Convert.ToInt32(r.center.Y - mr.Height*2), mr.Width*4, mr.Height*4); if (sr.Width<emguimage.Width/5 && sr.Left >= 0 && sr.Top >= 0 && sr.Right < emguimage.Width && mr.Bottom < emguimage.Height) { rectange.Add(sr); try { using( var cut = emguimage.GetSubRect(sr)) using ( var cutsize = cut.Resize(300, 300, INTER.CV_INTER_LINEAR)) using (var bitmap = cutsize.ToBitmap()) { var re = _qr.Decode(bitmap); if (re != null) _codes.Add(new result { points = re.ResultPoints.Select( y => new PointF(sr.X + Convert.ToInt32(y.X / 300.0 *cut.Width), sr.Y + Convert.ToInt32(y.Y / 300.0* cut.Height))) .ToList(), text = re.Text }); } } catch (Exception ex) { } } } } } Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
brutalis 5 Жалоба Опубликовано June 3, 2014 iskees, Спасибо за ответ. а можно тоже самое на с++. буду очень признателен. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах