2020-10-25 07:19:19 -0600 | received badge | ● Student (source) |
2020-10-25 07:18:13 -0600 | received badge | ● Notable Question (source) |
2017-03-16 09:45:22 -0600 | received badge | ● Popular Question (source) |
2016-02-24 07:10:06 -0600 | commented answer | IP camera video corruption - solutions? This approach is working also at Java side. OpenCV 3.x release had fixed issues at ffmpeg side. So as sturkmen said renaming the dll through your 2.x release name and using it with threads will solve the problems. Through this you will not need to integrate libvlc or any other custom solution or external library. The approach is like that : 0- Rename the 3.x ffmpeg dll to 2.X and replace it on OpenCV base setup folder. 1- In a class use a method only reading next frame. Simply no additional process here : 2- In a render thread get the bufferedimage from Mat 3- Updater thread will get the same reference from class of |
2016-01-28 13:26:56 -0600 | received badge | ● Teacher (source) |
2015-12-30 08:07:33 -0600 | answered a question | Raspberry Pi with OpenCV - Use Raspbian or Ubuntu ? I have a BananaPi and I installed Lubuntu on it from lemaker.org. You can use Python and Java very clean on Lubuntu. I tried some sorting algorithms with Java on it. So, i prefer ubuntu based distributions because of its strong community support also. And you may lookup SimpleCV also as an alternative if you want to go with Python especially. http://simplecv.org/ |
2015-12-30 07:37:56 -0600 | answered a question | Motion estimation between 2 frames I understood that you want to indicate the areas on frame which have motion. You may use motion history approach or contour approach for this work. Here is a motion history approach used sample method (optimized through forking the OpenCV sample - update_mhi) written with Java. You may call this method in a loop through passing the retrieved video frame's Mat reference to img parameter of method. // Fields... Mat motion, mhi, orient, mask, segmask; (more) |
2015-11-23 05:17:41 -0600 | commented question | After 2.4.12.3 Windows Build from source - Java Unsatisfied Link Error I compared the jni_part.cpp of 2.4.11.0 with 2.4.12.3 and saw that first load of library mechanism changed as below : May be related to this. Investigation is continuing. Any help will be acceptable..:) |
2015-11-20 10:01:42 -0600 | received badge | ● Autobiographer |
2015-11-20 09:54:18 -0600 | asked a question | After 2.4.12.3 Windows Build from source - Java Unsatisfied Link Error Hi, I downloaded 2.4.12.3 source from github and build it on Ubuntu 14.04 64 bit and Windows 7 64 bit. At linux side it is working and i saw that the problem of rendering H.264 video stream at high resolutions like 1920x1080 was solved. (Code change was : FFMPEG & GSTREAMER decoding through getting the frame with underlaying protocol TCP and null frame control) But at Windows side although the build is okay on Visual Studio 2013 and the INSTALL project output seems true like below (i compared the folder structure with 2.4.9's and 2.4.11's sourceforge.net binary windows distributions), it gives always "Java Unsatisfied link error : opencv_java2412.dll can't find dependednt libraries) All required *.dll, *.lib files exist in bin and lib folders. I am sure about setting the -Djava.library.path as true because if you give the path wrong it gives another error like (nonative library found for opencv_2412) So, does anybody have opinion about this situation? Did anybody try the compilation of 2.4.12.3 at Windows side? Regards, Eray |
2015-11-19 07:31:07 -0600 | received badge | ● Necromancer (source) |
2015-11-19 04:54:24 -0600 | answered a question | How to detect human using findcontours based on the human shape? I tried this CPP code and adopt it to Java side as below. I changed some of the lines because no need of them. So, the last state of it with Java goes here. I used *.mp4 file but i resize the frame before processing because more than a 640x480 resolution, processing is too slow. I prefer to dynamic resize the frame to 320x240 or max. 640x480 before processing : // Fields... // Initializer part (you may put it to a private method and call it from constructor)... // Frame reader part... // Detect method which is called in while read frame loop... public Mat detect(Mat inputframe){ (more) |
2015-04-16 11:05:49 -0600 | answered a question | IP camera video corruption - solutions? Hi, I think your code is right. Sample Java code is as below. I also tried on lots of environments like you. With Gstream ugly & good codecs on Ubuntu 12.04, H.264 streaming is working with a latency without any frame corruption. The code is like that : But if you need to process data (for example; motion tracking, histogram equalization etc. i mean Highgui procs) you need the Mat reference and this reference can not be gotten without FFMPEG. And OpenCV which is built from source with FFMPEG ability uses CPU more than 100% on Linux.So, you can not run properly on Linux. (Some folks said that they were succedded here and was me..:) but FFMPEG Needed not GStreamer but i couldn't get a stable environment) So, i choosed to go on Win7 64 bit platform wt. OpenCV 2.4.11. Currently i can get MJPEG streming wt. 1920x1080 resolution at 16384 bitrate from my ip camera. Its quality is near to H.264 but data cost is twice of H.264. (H.264 = 500K, MJPEG = 800K) I also downloaded source code of OpenCV2.4.11 and open the project in Visual Studio .NET. I succedded to compile it and currently i am investigating the source code at CPP side if i will be able to find anything, i may write to here. I saw that lots of codes exist at CPP side about comparing the FFMPEG versions. Sample like that : And lastly, you are right that MPEG4 or H.264 encoded files on disk are played without any error. IP Camera H.264 640x480 RTSP Sample on Win7 64 bit and OpenCV2.4.11 (wt. Rendering errors) H.264 Encoded MP4 File 640x480 Sample on Win7 64 bit and OpenCV2.4.11 (wt. out errors) I guess the problem is related to network side. If it was related to FFMPEG, the H.264 encoded file also rendered wt. errors. GStreamer on Linux can render it wt. out errors with a latency. So, I think if grapb - retrieve cylec can wait some time about being sure that the frame is gotten properly than there will be no problem. I mean i can accept 2-3 seconds delay if Mat reference will be able to be given after reading the H..264 encoded video data. See you on ... (more) |
2014-11-10 14:05:09 -0600 | received badge | ● Supporter (source) |
2014-11-10 07:00:17 -0600 | commented answer | ip camera h264 error while decoding I also compiled OpenCV2.4.9 under Ubuntu 14.04 without FFMEG support but while trying to render Video data through RTSP stream CPU usage raises more that 100% and computer gave no response. After a research, i found that GStream codecs is no more supported from Ubuntu 14.04. I also ignored this situation and although i installed gstream bad-uglu-good codecs, CPU again went to over 100% and a dedlock occurred. So, i install GStream full compatible Ubuntu 12.04 LTS and compiled OpenCV2.4.9 without FFMPEG support also on it. I was carefull about not to install gstream1, i installed gstream0 codecs. After that i gained the 1920x1080 high reolution video stream from my ip camera. It is brillant and has only 1/2 second delay. |
2014-10-26 17:15:12 -0600 | commented answer | ip camera h264 error while decoding Hi, Do you have OpenCV2.4.9 library which was built without FFMPEG support? I need the jar to try on Windows 7 64 bit. Would you please send the jar to this thread as an attachment or would you may email to me? |
2014-10-18 08:43:32 -0600 | received badge | ● Editor (source) |
2014-10-18 06:52:54 -0600 | asked a question | RTSP link can not open Camera - Java H264 Stream The problem is solved through this link : http://stackoverflow.com/questions/23199886/opencv-java-binds-videocapture-from-file-failing-silently After putting the OpenCV binaries path to Windowss' environment variable PATH and restart my Eclipse IDE, i will be able to get data from RTSP stream and any orher local file (for example avi) I can not post an answer because i am newbie and opencv prohibits me so i has just write to here. Regards, Eray Hi, I try this basic code as told in forums/internet but the isOpened() method always returns false. I tried InetSocketAddress to connect 192.168.1.229 on port 554 and this was succedded. Also i can see the camera video stream from iSpy software (a custom Camera control software) with URL rtsp://192.168.1.229:554/H264/streamtype=0. So, i am sure that the device is working properly. What might be the problem? Any ideas..:( Version : OpenCV 2.4.9 wt. Java 1.8/1.6 public static void main(String[] args) { |