An image processing apparatus comprising: an embed-data generating unit (1F2) configured to generate embed-data, which is to be embedded in input-image-data, the input-image-data representing an image including a first color, the embed-data representing an image including a second color, wherein the second color is a color included in the image represented by the embed-data in the largest proportion; an inverting unit (1F3) configured to invert the color of the image represented by the embed-data, in response to meeting a predetermined condition relating to the first color and the second color, wherein the color of the image represented by the embed-data is to be inverted into black when it is white and the color of the image represented by the embed-data is to be inverted into white when it is black; and an output-image-data generating unit (1F1) configured to embed, in the input-image-data, embed-data, the color of the image represented by the embed-data having been inverted by the inverting unit (1F3), in order to generate output-image-data in a case where the predetermined condition is met, and configured to embed, in the input-image-data, embed-data, the color of the image represented by the embed-data not having been inverted by the inverting unit (1F3), in order to generate output-image-data in a case where the predetermined condition is not met, wherein the first color is either one of black or white and the second color is another one of black or white, and wherein the inverting unit (1F3) is configured to determine whether to invert the color of the image represented by the embed-data, based on a first value and a second value, the first value indicating the number of data representing the first color, the second value indicating the number of data representing the second color and to determine to invert the color of the image represented by the embed-data, in response to meeting the predetermined condition that the first value is equal to or greater than a half of the second value, characterised in that in the case where the predetermined condition is met, a mark is embedded at a predetermined position in the output-image-data, wherein the mark indicates that the color of the image represented by the embed-data is inverted based on the color of the mark. an embed-data generating unit (1F2) configured to generate embed-data, which is to be embedded in input-image-data, the input-image-data representing an image including a first color, the embed-data representing an image including a second color, wherein the second color is a color included in the image represented by the embed-data in the largest proportion; an inverting unit (1F3) configured to invert the color of the image represented by the embed-data, in response to meeting a predetermined condition relating to the first color and the second color, wherein the color of the image represented by the embed-data is to be inverted into black when it is white and the color of the image represented by the embed-data is to be inverted into white when it is black; and an output-image-data generating unit (1F1) configured to embed, in the input-image-data, embed-data, the color of the image represented by the embed-data having been inverted by the inverting unit (1F3), in order to generate output-image-data in a case where the predetermined condition is met, and configured to embed, in the input-image-data, embed-data, the color of the image represented by the embed-data not having been inverted by the inverting unit (1F3), in order to generate output-image-data in a case where the predetermined condition is not met, wherein the first color is either one of black or white and the second color is another one of black or white, and wherein the inverting unit (1F3) is configured to determine whether to invert the color of the image represented by the embed-data, based on a first value and a second value, the first value indicating the number of data representing the first color, the second value indicating the number of data representing the second color and to determine to invert the color of the image represented by the embed-data, in response to meeting the predetermined condition that the first value is equal to or greater than a half of the second value, characterised in that in the case where the predetermined condition is met, a mark is embedded at a predetermined position in the output-image-data, wherein the mark indicates that the color of the image represented by the embed-data is inverted based on the color of the mark.