I think the android NDK recently allowed people to run native C code, but it’s not really recommended or well documented/supported.
I’d recommend you program the mobile app in a more supported language (Java, C# with Xamarin, or even an HTML5 webapp) and then run your image processing software on the cloud as a web service.
Basically, the user would take a picture on the client app, and then send the data to the web service. Then the web service would run the image processing algorithms on the picture and send it back to the client.
This is actually the current approach I’m taking with my software, except I’m using Python instead of C to do image processing. I did some quick Googling and found this library, Kore, which seems to handle HTTP requests for C.
Do some research on RESTful web services and see how they work. Lots of mobile apps these days seem to run their logic on a cloud to save battery life and storage.
I’m using Azure to host my Python script, mostly because Azure is the service that the rest of the software made by my company uses. You could also look into Azure, AWS or other hosting solutions for your program.
If all else fails, you could just rewrite your image processing algorithm in another language that’s more suitable for mobile development. I was also writing my software in C++ originally, but the OpenCV documentation and support for C++ is awful, which is why I switched to Python about half-way through.