Given an array of size N, if you know that all of the elements are white except for one, how to find the index of that element efficiently?
For your problem with the array: No, there is no better algorithm.  That's the best you can do.  Any deterministic algorithm will in the worst case have to look at every array element (technically: at least $n-1$ of the $n$ elements).

This can be proven by an adversarial algorithm: consider any algorithm, and imagine it has looked at $n-2$ elements and hasn't found the black element yet.  Then I claim a correct algorithm has to examine at least one more array element.  If it doesn't, then look at what output it produces, and see which of those two elements it blames; you can now construct an array that puts the black element at the other element (the one it didn't blame and hasn't looked at yet).  That array will be entirely consistent with everything the algorithm has seen so far, so the algorithm will produce the wrong output on that array.



For your problem with the camera video: In real life, there are much better techniques available.  For instance, you can do "change detection" to find the frames in the video that are different (show a change from the previous frame) and look only at those.  There are more sophisticated things you can do, but this illustrates that in practice you can often do much better, by taking advantage of domain-specific information about video surveillance.