It's not a good idea to modify the system installation of a package. For one thing, it's an artifact of the current deb packaging system that the sources are still available to be rebuilt; in the future, installed packages will contain just the pieces needed to use the package, not the sources. More importantly, if you rebuild opencv2, then you should rebuild all packages that depend on it, to avoid getting into an inconsistent state. While you might be ok in this case if you're only changing the contents of a shared library, it's a slippery slope, and inconsistent builds are a pain to debug.
Instead, you should create an overlay of the stacks that you want to modify and add it to your package path. In this case, you'd check out from source vision_opencv and all the stacks you're using that depend (directly or indirectly) on vision_opencv, then make changes to opencv2 and rebuild everything. rosinstall is a good tool to help you manage the contents of the overlay (but as far as I know there's no way automatically construct an appropriate rosinstall file for a given overlay situation).