The kernel (resp. cokernel) of a morphism $f : A \to B$ can be defined in any category $\mathcal{C}$ with zero objects. You must be aware that it is not an object of $\mathcal{C}$, but a morphism $k : K \to A$ (resp. $c : B \to C$) having a certain universal property. See my answer to In an abelian category is it true that $\ker f \cong \ker (\operatorname{coker} (\ker f))$?
(Co)kernels are unique only up to isomorphism. This means that any two (co)kernels differ by an isomorphism between their (co)domains. In many concrete applications there exists a canonical construction of (co)kernels which might create the impression of uniqueness, but do not confuse this standard (co)kernel with the universal categorical concept.
Also images can be defined in a general categorical setting. You should consult a book on category theory, for example
Mitchell, Barry. Theory of categories. Vol. 17. Academic Press (1965)
Images are based on the concept of subojects. A subobject of an object $A$ is a monomorphism $m : S \to A$, and you can partially order subobjects by defining $m' \le m$ if there exists $\mu : S' \to S$ such that $m \circ \mu = m'$. Note that $\mu$ will be a monomorphism. This relation $\le$ is the substitute for set inclusion $\subset$. If both $m' \le m$ and $m \le m'$, we call $m,m'$ equivalent subobjects ($m \equiv m'$). In this case $\mu$ is an isomorphism.
The image of a morphims $f : A \to B$ is a subobject $im(f) : I \to B$ of $B$ having a certain universal property.
In an abelian category it turns out that the morphism $ker(coker(f))$ has this universal property so that we can also regard $im(f) = ker(coker(f))$ as the definition of an image.
The subobject concept should answer your second question: $im(f)$ and $ker(q'\circ h)$ are subobjects of $B$ which can be compared via $\le$.
In your first question $c$ is a cokernel of $f$, and you may write $c = coker(f)$. I recommend that you try to prove this using the above link. Apply it to $im(f) \equiv ker(g)$ and $im(c) \equiv ker(0)$.