[JdeRobot] Compressed Images

Oscar Garcia oscar.robotica at linaresdigital.com
Mon Mar 30 13:18:03 CEST 2015


El 30/03/2015 11:36, Roberto Calvo <rocapal en gsyc.urjc.es> escribió:
> Firstable, in the future don't write the same message in list and
> Github. May be it's confused for external people that just they read the
> Github.

Sorry, first I answered list, later I saw github topic and later again I decided that this message was important enough to send to list too.

> We talked about that in the last developers meeting, and we know that
> the compatibility is broken with previous versions. We assume this
> change because is a great functionality that we need.

Implement image compression not implied redactor or modify Image interface. I explained it in previous message. Only is needed to modify color spaces. Format used in image is sent inside ImageDescription:

https://github.com/RoboticsURJC/JdeRobot/blob/master/src/stable/interfaces/slice/jderobot/image.ice

If someone implements a new image format, he/she must modify only colorspaces to allow all components use this new format (as I made with NV21).

I had to modify opencvdemo because it gets the raw image and packet it as cv::Mat as CV_8U and 3 channels was whenever the format was, YUV, Gray, NV21, doesn't matter the format, still forcing it as it was RGB8.

The solution was simple, give the image to colorspaces and tell it: give me this image in RGB8. Conversion will made only if input format was different and component don't need about that.

> Reminder for everybody, master is the development branch of the project,
> and it's constantly changing. So don't use if you don't want to face up
> with these problems. For that we have a release version (currently
> JdeRobot 5.2.4-RC1 (July 2014)). We'll decide the number of new version
> when the software is released.

What is the process of checkout a previous branch from github? Last one there I think is 4.4 (and 4.4-old).

Right now master is not working, it doesn't compile.

> Regarding opencvdemo component, it's working fine with the other
> components of the repository and of course it's in continuously
> developing.

As explained before, it only works with a camera server that gives it RGB8 because implementation mistake. Now it'll works with every format supported by color spaces.

> So, there is no problem if we need to add NV21 format to
> cameraServer or wherever. And we can help you guys to modify your
> personal components in order to update with the last changes of the
> software.

No, it is not about "my personal component" (my target is to merge it within jderobot as stable component) and there is no problem about recompile that component with new interfaces, it's a really simple and quick task, sorry if I could explain me clearly (my English skills are really bad). It's about I think that is time to define a clear versioning rules (or conventions).

For example:

- Modify interfaces: change major version in next release. So we need to hold that modifications as many time as we need due to priorities on next major release "to do" list.
- Add functionality without modify them (like add new image formats, add new components or libraries, bug fixes, enhancements, ect): change minor version in next release.

What I want is to propose, discuss and agree for publicly publish a clear release rules convention.

> Best,

Best regards and sorry for the confusion and duplicate messages.


More information about the Jde-developers mailing list